欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用RSA加密解密文件

 更新時(shí)間:2020年06月28日 08:44:34   作者:Cosmop01itan  
這篇文章主要為大家詳細(xì)介紹了C#使用RSA加密解密文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C#使用RSA加密解密文件的具體代碼,供大家參考,具體內(nèi)容如下

加密代碼:

//加密代碼,注意會(huì)覆蓋原文件,里面有我的公鑰,你要用時(shí)記得覆蓋我的公鑰
 private bool encryptFile(string filename)
  {
   FileStream f;
   try
   {
    f = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
   }
   catch
   {
    return false;
   }
   Random r = new Random();
   Thread.Sleep(10*r.Next(3,8));
   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(1024);
   rsa.FromXmlString("<RSAKeyValue><Modulus>w7nNT8U7kwTw8UqLk0lROxmfTRZnQrMH1QrNyUGtoeAJ3w+iH08j+h83cPWxwPoxpXm1cgCLFWtCFWY1rkQDCCLxJhUIwYTbGKTg9h0uUVfNxGiNji7dcHShd01UYpZjHCwOar1wjJD4vJqVJCk++59UUMhE9IUATuSUVpRy1bE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>");
   //導(dǎo)入密鑰
   byte[] data = new byte[16];
   ArrayList con = new ArrayList();
   while(f.Read(data, 0, 16)!=0)
   {

    byte[] result = rsa.Encrypt(data,false);
    //Thread.Sleep(10 * r.Next(2, 7));
    con.Add(result);
   }
   //加密
   f.Seek(0, SeekOrigin.Begin);
   foreach(byte[] d in con)
   {
    f.Write(d, 0, d.Length);
   }

   f.Close();
   return true;
}

解密代碼:

//解密代碼,覆蓋原文件,返回值表示是否解密成功
 private bool decryptFile(string filename,string key)
  {
   FileStream f;
   try
   {
    f = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
   }
   catch
   {
    return false;
   }
   RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(1024);
   try
   {
    rsa.FromXmlString(key);
   }
   catch
   {
    return false;
   }

   byte[] data = new byte[128];
   ArrayList con = new ArrayList();
   while (f.Read(data, 0, 128) != 0)
   {
    byte[] result;
    try
    {
     result = rsa.Decrypt(data, false);
    }
    catch
    {
     return false;
    }
    con.Add(result);
   }
   //解密
   f.SetLength(con.Count * 16);
   f.Seek(0, SeekOrigin.Begin);
   foreach (byte[] d in con)
   {
    f.Write(d, 0, d.Length);
   }
   f.Close();
   return true;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# Csv實(shí)現(xiàn)基本的讀寫(xiě)和轉(zhuǎn)換DataTable

    C# Csv實(shí)現(xiàn)基本的讀寫(xiě)和轉(zhuǎn)換DataTable

    本文主要介紹了C# Csv實(shí)現(xiàn)基本的讀寫(xiě)和轉(zhuǎn)換DataTable,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • C# 中如何利用lambda實(shí)現(xiàn)委托事件的掛接

    C# 中如何利用lambda實(shí)現(xiàn)委托事件的掛接

    在寫(xiě)一個(gè)小程序的時(shí)候,碰到了這樣的問(wèn)題,需要用委托來(lái)掛接事件,但是又想在這事件中使用局部的變量,而委托一旦定義好后,掛接方就沒(méi)有辦法再添加額外的形參了。那有沒(méi)有什么辦法,可以實(shí)現(xiàn)呢
    2013-07-07
  • C#純代碼實(shí)現(xiàn)打字游戲

    C#純代碼實(shí)現(xiàn)打字游戲

    這篇文章主要介紹了這篇文章主要為大家詳細(xì)介紹了C#純代碼實(shí)現(xiàn)打字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • WPF 在image控件用鼠標(biāo)拖拽出矩形的實(shí)現(xiàn)方法

    WPF 在image控件用鼠標(biāo)拖拽出矩形的實(shí)現(xiàn)方法

    這篇文章主要介紹了WPF 在image控件用鼠標(biāo)拖拽出矩形的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 一看就懂:圖解C#中的值類(lèi)型、引用類(lèi)型、棧、堆、ref、out

    一看就懂:圖解C#中的值類(lèi)型、引用類(lèi)型、棧、堆、ref、out

    這篇文章主要介紹了一看就懂:圖解C#中的值類(lèi)型、引用類(lèi)型、棧、堆、ref、out,本文用淺顯易懂的語(yǔ)言組織介紹了這些容易混淆的概念,需要的朋友可以參考下
    2015-06-06
  • 在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)代碼

    在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)代碼

    在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)步驟,需要的朋友可以參考下。
    2009-11-11
  • c# HashSet的擴(kuò)容機(jī)制需要注意的

    c# HashSet的擴(kuò)容機(jī)制需要注意的

    這篇文章主要介紹了c# HashSet的擴(kuò)容機(jī)制需要注意的兩個(gè)地方,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#圖像處理之邊緣檢測(cè)(Smoothed)的方法

    C#圖像處理之邊緣檢測(cè)(Smoothed)的方法

    這篇文章主要介紹了C#圖像處理之邊緣檢測(cè)(Smoothed)的方法,使用自定義smoothed算子實(shí)現(xiàn)對(duì)圖像邊緣檢測(cè)的功能,需要的朋友可以參考下
    2015-04-04
  • C#編程實(shí)現(xiàn)自定義熱鍵的方法

    C#編程實(shí)現(xiàn)自定義熱鍵的方法

    這篇文章主要介紹了C#編程實(shí)現(xiàn)自定義熱鍵的方法,涉及C#鍵盤(pán)按鍵設(shè)置的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • C#?字典Dictionary的具體用法

    C#?字典Dictionary的具體用法

    本文主要介紹了C#?字典Dictionary的具體用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論