static void Main(string[] args)
{ RSAParameters pub;
RSAParameters priv;
using (var rsa = new RSACryptoServiceProvider(512))
{
try
{
//参数true 生成私钥,false生成公钥
pub = rsa.ExportParameters(false);
priv = rsa.ExportParameters(true);
}
finally
{
rsa.PersistKeyInCsp = false;
}
} string s = "创建一个RAS 非对称 公私密钥示例";
Console.WriteLine("需要加密的数据:" + s); byte[] messagebytes = Encoding.UTF8.GetBytes(s); //需要加密的数据 RSACryptoServiceProvider oRSA1 = new RSACryptoServiceProvider();
oRSA1.ImportParameters(pub); //加密要用到公钥所以导入公钥
byte[] AOutput = oRSA1.Encrypt(messagebytes, false); //AOutput 加密以后的数据
Console.WriteLine("加密后的数据值:" + Convert.ToBase64String(AOutput)); //私钥解密
RSACryptoServiceProvider oRSA2 = new RSACryptoServiceProvider();
oRSA2.ImportParameters(priv);
byte[] AInput = oRSA2.Decrypt(AOutput, false);
string reslut = Encoding.UTF8.GetString(AInput);
Console.WriteLine("解密后比的数据:" + reslut); Console.ReadKey();
}

  

创建一个RAS 非对称 公私密钥示例的更多相关文章

  1. 如何创建一个自定义jQuery插件

    简介 jQuery 库是专为加快 JavaScript 开发速度而设计的.通过简化编写 JavaScript 的方式,减少代码量.使用 jQuery 库时,您可能会发现您经常为一些常用函数重写相同的代 ...

  2. 使用Express创建一个简单的示例

    1.安装Express 使用npm包安装工具来安装Express安装包,打开npm命令行,输入: npm install -g express 2.创建一个工程 本示例是在windows下创建的,项目 ...

  3. java 添加一个线程、创建响应的用户界面 。 演示示例代码

    javajava 添加一个线程.创建响应的用户界面 . 演示示例代码 来自thinking in java 4 21章  部分的代码  夹21.2.11 thinking in java 4免费下载: ...

  4. Cordova之如何用命令行创建一个项目(完整示例)

    原文:Cordova之如何用命令行创建一个项目(完整示例) 1. 创建cordova项目 (注意:当第一次创建或编译项目的时候,可能系统会自动下载一些东西,需要一些时间.) 在某个目录下创建cordo ...

  5. 快速创建一个 spring mvc 示例

    1. 创建一个 servlet 项目 参考 http://www.cnblogs.com/zno2/p/5908589.html 2. 引入 spring mvc 依赖 <dependency& ...

  6. 【翻译】Sencha Touch 2入门:创建一个实用的天气应用程序之三

    原文:Getting Started with Sencha Touch 2: Build a Weather Utility App (Part 3) 作者:Lee BoonstraLee is a ...

  7. [转]TEC1401.Report开发技术总结 - 第三章 使用Oracle Reports开发报表-创建一个分组报表(2/4)

    本文转自:http://blog.csdn.net/deepsea_allen/article/details/53900284 第三章   创建一个分组报表 1.     建立数据模型 数据模型用于 ...

  8. 搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 (1)

    搭建QQ聊天通信的程序:(1)基于 networkcomms.net 创建一个WPF聊天客户端服务器应用程序 原文地址(英文):http://www.networkcomms.net/creating ...

  9. 如何创建一个简单的Visual Studio Code扩展

    注:本文提到的代码示例下载地址>How to create a simple extension for VS Code VS Code 是微软推出的一款轻量级的代码编辑器,免费,开源,支持多种 ...

随机推荐

  1. Shell 编程 数组

    本篇主要写一些shell脚本数组的使用. 数组定义 数组名=(value0 value1 vlaue2 ...) 数组名=([0]=value [1]=value [2]=vlaue ...) 列表名 ...

  2. PHP7.2.6安装sodium扩展

    安装libsodium libsodium是安装sodium扩展的必须依赖条件,我这里提供两种安装方式,编译和直接yum 编译安装libsodium wget https://github.com/j ...

  3. angular6 使用tooltip

    准备 为了使用tooltip,可以安装ng-bootstrap组件,它包含两个依赖: angular:5.0以上版本: bootstrap css: 4.0版本. 安装好bootstrap之后,更新a ...

  4. AMQP与RabbitMQ

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10922433.html 一:AMQP是什么 AMQP(Advanced Message Queuing Pr ...

  5. 大数据技术原理与应用【第五讲】NoSQL数据库:5.6 文档数据库MongoDB

    文档数据库介于关系数据库和NoSql之间: 是最像关系数据库的一款产品,也是当前最热门的一款产品. 1.MongoDB简介:   1)     2)文档类型BSON(Binary JSON),结构类似 ...

  6. 浅谈僵尸网络利器:Fast-flux技术

    浅谈僵尸网络利器:Fast-flux技术   一.背景 在早期的僵尸网络中,控制者通常会把C&C服务器的域名或者IP地址硬编码到恶意程序中,僵尸主机通过这些信息定时访问C&C主机获取命 ...

  7. 2019 Nowcoder Multi-University Training Contest 4 E Explorer

    线段树分治. 把size看成时间,相当于时间 $l$ 加入这条边,时间 $r+1$ 删除这条边. 注意把左右端点的关系. #include <bits/stdc++.h> ; int X[ ...

  8. 【Tomcat】系统找不到指定的路径

    确认一下端口防火墙是否开放 没开放就开一下:firewall-cmd --zone=public --add-port=9080/tcp --permanent 然后重启: firewall-cmd ...

  9. Pandas | 03 DataFrame 数据帧

    数据帧(DataFrame)是二维数据结构,即数据以行和列的表格方式排列. 数据帧(DataFrame)的功能特点: 潜在的列是不同的类型 大小可变 标记轴(行和列) 可以对行和列执行算术运算 结构体 ...

  10. ajax和json的优缺点

    ajax:AJAX全称是"Asynchronous JavaScript and XML"(异步Javascript和XML),是一种创建交互式网页应用的网页开发技术. 优点: 1 ...