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

首頁 > 編程 > C# > 正文

C#使用RSA加密解密文件

2020-01-24 00:06:40
字體:
供稿:網(wǎng)友

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

加密代碼:

//加密代碼,注意會覆蓋原文件,里面有我的公鑰,你要用時記得覆蓋我的公鑰 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>");      //導入密鑰      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;}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁化县| 大田县| 扶风县| 岳西县| 琼海市| 白银市| 平利县| 赣榆县| 积石山| 铜山县| 通山县| 两当县| 台南县| 玉林市| 乡宁县| 探索| 宝兴县| 扶绥县| 桐乡市| 昭苏县| 星子县| 榆林市| 湘乡市| 班戈县| 平原县| 奉贤区| 霞浦县| 安多县| 丹东市| 钟祥市| 墨玉县| 涡阳县| 慈利县| 凌海市| 广平县| 郑州市| 萍乡市| 若羌县| 泰州市| 岳池县| 双流县|