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

C#中RSA加密與解密的實(shí)例詳解

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

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

測(cè)試:

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加密與解密  --  使用同一個(gè)密鑰容器進(jìn)行加密與解密

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

測(cè)試 :

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加密與解密的實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    HttpWebRequest出錯(cuò).Section=ResponseHeader Detail=CR

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

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

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

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

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

最新評(píng)論

北京市| 固始县| 祁东县| 海伦市| 澳门| 德格县| 忻州市| 徐州市| 田东县| 江北区| 沈阳市| 南昌市| 保定市| 沧源| 都江堰市| 四川省| 包头市| 墨江| 深州市| 松阳县| 北辰区| 土默特左旗| 浑源县| 毕节市| 武平县| 论坛| 嘉义市| 康定县| 化德县| 濮阳县| 德兴市| 嵊泗县| 布尔津县| 金昌市| 平湖市| 南溪县| 西平县| 东乡| 新丰县| 新宾| 青川县|