最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年08月22日 09:58:05   作者:在代碼的世界里游走  
這篇文章主要介紹了C#中RSA加密與解密的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

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

總結(jié)

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

相關文章

  • C#實現(xiàn)集合自定義排序的三種方式

    C#實現(xiàn)集合自定義排序的三種方式

    在C#中,集合排序是一種常見的操作,它可以幫助我們對集合中的元素進行排序,C#中提供了多種集合排序方法,包括Array.Sort、List.Sort、SortedList和SortedSet等,本文給大家介紹了C#實現(xiàn)集合自定義排序的三種方式,需要的朋友可以參考下
    2025-01-01
  • 在C#中實現(xiàn)接口事件的具體示例

    在C#中實現(xiàn)接口事件的具體示例

    在C#中,接口(interface)是一種定義類必須實現(xiàn)的方法和屬性的抽象類型,除了方法和屬性,接口還可以包含事件,實現(xiàn)接口事件可以幫助我們設計更加靈活和解耦的系統(tǒng),本文將詳細探討如何在C#中實現(xiàn)接口事件,并通過具體示例說明其應用,需要的朋友可以參考下
    2024-08-08
  • 利用多線程句柄設置鼠標忙碌狀態(tài)的實現(xiàn)方法

    利用多線程句柄設置鼠標忙碌狀態(tài)的實現(xiàn)方法

    怎樣利用多線程句柄設置鼠標忙碌狀態(tài)呢?下面小編就為大家介紹一下具體的實現(xiàn)方法吧!需要的朋友可以過來參考下
    2013-08-08
  • C#/VB.NET實現(xiàn)在Word文檔中添加頁眉和頁腳

    C#/VB.NET實現(xiàn)在Word文檔中添加頁眉和頁腳

    頁眉位于文檔中每個頁面的頂部區(qū)域,常用于顯示文檔的附加信息;頁腳位于文檔中每個頁面的底部的區(qū)域,常用于顯示文檔的附加信息。今天這篇文章就將為大家展示如何以編程的方式在在?Word?文檔中添加頁眉和頁腳
    2023-03-03
  • C#服務端圖片打包下載實現(xiàn)代碼解析

    C#服務端圖片打包下載實現(xiàn)代碼解析

    這篇文章主要介紹了C#服務端圖片打包下載實現(xiàn)代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • C#使用channel實現(xiàn)Plc異步任務之間的通信

    C#使用channel實現(xiàn)Plc異步任務之間的通信

    在C#的并發(fā)編程中,Channel是一種非常強大的數(shù)據(jù)結(jié)構(gòu),用于在生產(chǎn)者和消費者之間進行通信,本文將給大家介紹C#使用channel實現(xiàn)Plc異步任務之間的通信,文中有相關的代碼示例供大家參考,感興趣的朋友跟著小編一起來看看吧
    2024-05-05
  • C#中簡單的拆箱操作用法實例分析

    C#中簡單的拆箱操作用法實例分析

    這篇文章主要介紹了C#中簡單的拆箱操作用法.實例分析了C#中拆箱的概念與相關的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • HttpWebRequest出錯.Section=ResponseHeader Detail=CR

    HttpWebRequest出錯.Section=ResponseHeader Detail=CR

    HttpWebRequest出錯.Section=ResponseHeader Detail=CR...
    2007-03-03
  • 詳解C#操作XML的方法總結(jié)

    詳解C#操作XML的方法總結(jié)

    這篇文章主要為大家詳細介紹了C#對XML文件進行一些基本操作的方法,譬如:生成xml文件、修改xml文件的節(jié)點信息等,需要的可以參考一下
    2022-11-11
  • 適用于WebForm Mvc的Pager分頁組件C#實現(xiàn)

    適用于WebForm Mvc的Pager分頁組件C#實現(xiàn)

    這篇文章主要為大家分享了適用于WebForm Mvc的Pager分頁組件,由C#實現(xiàn),感興趣的小伙伴們可以參考一下
    2016-04-04

最新評論

万荣县| 通州区| 虎林市| 拉萨市| 涟源市| 金塔县| 乌拉特中旗| 东港市| 东山县| 莱芜市| 广东省| 岳阳市| 上饶县| 松滋市| 邹城市| 孟州市| 岑溪市| 新建县| 涟源市| 英德市| 内江市| 德令哈市| 洛南县| 昭苏县| 崇信县| 太康县| 长宁区| 永年县| 久治县| 江油市| 泰安市| 满城县| 湖南省| 浙江省| 赤城县| 孝感市| 大庆市| 潞西市| 正阳县| 泾阳县| 隆回县|