91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-17 03:42:52 來源:腳本之家 閱讀:242 作者:在代碼的世界里游走 欄目:編程語言

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);

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

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加密與解密的實例詳解

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合江县| 大化| 勐海县| 五指山市| 怀来县| 万州区| 阿拉尔市| 清流县| 志丹县| 孟村| 宜昌市| 青神县| 天峻县| 绥中县| 安吉县| 句容市| 翁牛特旗| 额尔古纳市| 桂阳县| 镇赉县| 新疆| 思茅市| 祥云县| 望城县| 肥乡县| 色达县| 沿河| 兰考县| 水城县| 桐庐县| 孝感市| 洛隆县| 宁强县| 兴和县| 乌兰察布市| 青冈县| 疏勒县| 文成县| 惠安县| 蚌埠市| 三江|