创建一个RAS 非对称 公私密钥示例
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(); }