当前位置: 首页 > news >正文

RSA加密的测试demo

使用.net自带的RSA,需要引用System.Security.Cryptography

测试环境.net4.6

static void Main(string[] args)
{
    var RSA = new RSACryptoServiceProvider();
    var publickKey = RSA.ToXmlString(false);
    var privateKey = RSA.ToXmlString(true);

    var publicKeyRSA = new RSACryptoServiceProvider();
    publicKeyRSA.FromXmlString(publickKey);

    var privateKeyRSA = new RSACryptoServiceProvider();
    privateKeyRSA.FromXmlString(privateKey);

    var encryptBytes = publicKeyRSA.Encrypt(Encoding.Default.GetBytes("hellow world"), false);

    string tmp = "";
    for (int i = 0; i < encryptBytes.Length; i++)
    {
        tmp += encryptBytes[i] + ",";
    }
    tmp = tmp.TrimEnd(',');
    Console.WriteLine(tmp);

    var sign = privateKeyRSA.SignData(encryptBytes, "SHA1");
    if (publicKeyRSA.VerifyData(encryptBytes, "SHA1", sign))
    {
        var decryptBytes = privateKeyRSA.Decrypt(encryptBytes, false);
        var str = Encoding.Default.GetString(decryptBytes);
        Console.WriteLine(str);
    }
    else
    {
        Console.WriteLine("Sign Error!");
    }


    Console.Read();
}

 

 

运行打印:

104,205,171,68,41,206,37,127,112,195,150,236,162,29,144,253,78,197,173,65,75,240
,223,35,186,212,218,50,24,60,144,133,174,97,74,90,61,97,97,54,214,231,30,191,33,
18,102,103,230,79,231,100,171,129,0,165,33,147,22,69,83,67,105,212,92,118,112,16
5,200,11,91,241,56,161,218,11,62,179,83,167,141,27,2,188,169,102,222,133,37,191,
41,48,246,90,238,164,105,54,238,126,6,140,74,197,208,164,197,209,98,68,243,160,1
65,66,64,223,234,175,160,5,24,198,169,206,110,100,235,6
hellow world

 

转载于:https://www.cnblogs.com/hont/p/5168633.html

相关文章:

  • 用 Python 开发自动化测试脚本
  • 运用.net core配合VS 2015制作nuget包
  • linux shell数据重定向(输入重定向与输出重定向)详细分析 上(转)
  • PHP开发学习门户改版效果图投票
  • 收到云栖社区发的淘公仔礼物
  • d语言之模块化
  • 7.12 Models -- Frequently Asked Questions
  • Mysql错误问题记录
  • PostgreSQL wal receiver 统计信息 patch
  • 【COCOS CREATOR 系列教程之四】基于0.7.1先简单制作一个PAGEVIEW
  • 两列自适应布局方案整理
  • 在.net桌面程序中自定义鼠标光标
  • Beanstalkd中文协议解读
  • windows ping RPi 2B
  • BLE4.0相关
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【css3】浏览器内核及其兼容性
  • gops —— Go 程序诊断分析工具
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • nginx 配置多 域名 + 多 https
  • 百度小程序遇到的问题
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 我从编程教室毕业
  • FaaS 的简单实践
  • 正则表达式-基础知识Review
  • $refs 、$nextTic、动态组件、name的使用
  • (11)MATLAB PCA+SVM 人脸识别
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (力扣)1314.矩阵区域和
  • (实战篇)如何缓存数据
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .gitignore文件---让git自动忽略指定文件
  • .naturalWidth 和naturalHeight属性,
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .Net的C#语言取月份数值对应的MonthName值
  • .net和jar包windows服务部署
  • .net和php怎么连接,php和apache之间如何连接
  • .Net下的签名与混淆
  • .Net中ListT 泛型转成DataTable、DataSet
  • .sys文件乱码_python vscode输出乱码
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [383] 赎金信 js
  • [Android] Implementation vs API dependency
  • [AutoSar]BSW_Com02 PDU详解
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [codevs] 1029 遍历问题
  • [gdc19]《战神4》中的全局光照技术
  • [hadoop读书笔记] 第十五章 sqoop1.4.6小实验 - 将mysq数据导入HBASE
  • [IE6 only]关于Flash/Flex,返回数据产生流错误Error #2032的解决方式
  • [IE编程] IE8 新增的C++开发接口
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下
  • [java进阶]——方法引用改写Lambda表达式