RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
string Key = ...// 这里使用一个固定的字符串,是以前用 ToXmlString 生成的,每次使用同样的一个字符串
rsa.FromXmlString(Key);
Encoding enc = Encoding.Unicode;// 将字符串转换成字节数组
byte[] org = enc.GetBytes(userID);
byte[] encyed = rsa.Encrypt(org,false); // 每次结果 encyed 都不一样,怎么办?
string Key = ...// 这里使用一个固定的字符串,是以前用 ToXmlString 生成的,每次使用同样的一个字符串
rsa.FromXmlString(Key);
Encoding enc = Encoding.Unicode;// 将字符串转换成字节数组
byte[] org = enc.GetBytes(userID);
byte[] encyed = rsa.Encrypt(org,false); // 每次结果 encyed 都不一样,怎么办?
解决方案 »
- 请问,这个功能怎么实现呢?
- c# 调用excel中已存在的宏
- 江湖救急,用c++/cli调c++ dll时,出现AccessViolationException
- 调用webbrowser控件的 execScript方法执行网页中的脚本,怎么样取得返回值
- 在一个全局通用的函数中如何获取当前活动的窗体和鼠标形状。。
- 工作流变更后,原流程无法正常运行,急急急急,在线等待....
- Datagrid 的排序问题!!!!!!!!
- 如何将一个连着数据库(sqlserver)的c#项目打包啊?
- 知道年,也知道年的第几周,怎么求这周周末的日期?
- Real的那个com怎么才能放视频?现在只有声音啊
- 如何在c#中检测屏幕保护程序是否运行?
- treeview拖动与合并节点
using System.Security.Cryptography;
using System.IO;
using System.Text;namespace RSADemo
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
RSACryptoServiceProvider rsa=new RSACryptoServiceProvider();
Console.WriteLine(rsa.ToXmlString(false));
Console.WriteLine(rsa.ToXmlString(true));
//获得包含公钥的参数
RSAParameters rsap=rsa.ExportParameters(false);
//获得包含公钥与私钥的参数
RSAParameters rsapp=rsa.ExportParameters(true); rsa.ImportParameters(rsap);
string message=Console.ReadLine();
byte[] data=Encoding.Default.GetBytes(message);
//用公钥对信息进行加密
byte[] eMessage=rsa.Encrypt(data,false);
Console.WriteLine(Convert.ToBase64String(eMessage)); rsa.ImportParameters(rsapp);
byte[] dMessage=rsa.Decrypt(eMessage,false);
Console.WriteLine(Encoding.Default.GetString(dMessage)); Console.ReadLine();
}
}
}