国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中RSA加密與解密的實例詳解

2020-01-24 00:01:26
字體:
來源:轉載
供稿:網友

1.  RSA加密與解密  --  使用公鑰加密、私鑰解密

public class RSATool {  public string Encrypt(string strText, string strPublicKey)  {   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();   rsa.FromXmlString(strPublicKey);   byte[] byteText = Encoding.UTF8.GetBytes(strText);   byte[] byteEntry = rsa.Encrypt(byteText, false);   return Convert.ToBase64String(byteEntry);  }  public string Decrypt(string strEntryText,string strPrivateKey)  {   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();   rsa.FromXmlString(strPrivateKey);   byte[] byteEntry = Convert.FromBase64String(strEntryText);   byte[] byteText = rsa.Decrypt(byteEntry, false);   return Encoding.UTF8.GetString(byteText);  }  public Dictionary<string,string> GetKey()  {   Dictionary<string, string> dictKey = new Dictionary<string, string>();   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();   dictKey.Add("PublicKey", rsa.ToXmlString(false));   dictKey.Add("PrivateKey", rsa.ToXmlString(true));   return dictKey;  } }

測試:

RSATool myRSA = new RSATool();   Dictionary<string, string> dictK = new Dictionary<string, string>();   dictK = myRSA.GetKey();   string strText = "123456";   Console.WriteLine("要加密的字符串是:{0}", strText);   string str1 = myRSA.Encrypt("123456", dictK["PublicKey"]);   Console.WriteLine("加密后的字符串:{0}", str1);   string str2 = myRSA.Decrypt(str1, dictK["PrivateKey"]);   Console.WriteLine("解密后的字符串:{0}", str2);

2.  RSA加密與解密  --  使用同一個密鑰容器進行加密與解密

 public class RSAToolX {  public string Encrypt(string strText)  {   CspParameters CSApars = new CspParameters();   CSApars.KeyContainerName = "Test001";   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);   byte[] byteText = Encoding.UTF8.GetBytes(strText);   byte[] byteEntry = rsa.Encrypt(byteText, false);   return Convert.ToBase64String(byteEntry);  }  public string Decrypt(string strEntryText)  {   CspParameters CSApars = new CspParameters();   CSApars.KeyContainerName = "Test001";   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(CSApars);   byte[] byteEntry = Convert.FromBase64String(strEntryText);   byte[] byteText = rsa.Decrypt(byteEntry, false);   return Encoding.UTF8.GetString(byteText);  } }

測試 :

RSAToolX myRSA = new RSAToolX();   string strText = "123456";   Console.WriteLine("要加密的字符串是:{0}", strText);   string str1 = myRSA.Encrypt("123456");   Console.WriteLine("加密后的字符串:{0}", str1);   string str2 = myRSA.Decrypt(str1);   Console.WriteLine("解密后的字符串:{0}", str2);

總結

以上所述是小編給大家介紹的C#中RSA加密與解密的實例詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 讷河市| 阿城市| 北流市| 咸阳市| 桐庐县| 祁东县| 庆安县| 福海县| 湛江市| 孟津县| 织金县| 贵阳市| 阿勒泰市| 香河县| 图木舒克市| 崇明县| 西乌珠穆沁旗| 白河县| 施甸县| 赤壁市| 吕梁市| 阿拉善右旗| 阳东县| 三河市| 益阳市| 土默特右旗| 福贡县| 裕民县| 叶城县| 泾阳县| 兴山县| 平湖市| 乐清市| 越西县| 桂阳县| 札达县| 舒兰市| 郑州市| 义马市| 西充县| 兴义市|