データの暗号化と復号化(MD5)

クラスプログラム
{
静的な無効メイン(文字列[] args)
{

   文字列のパス= @ "C:\ユーザーはEDZ \デスクトップ\ Test1と\ userData11.luxin \します"。
   もし(!File.Exists(パス))
   {
      Console.WriteLineを( "文件不包含");
   }
   のFileStream FS =新しいFileStreamを(パスをFileMode.APPEND)。
   StreamWriterのSW =新しいのStreamWriter(FS)。
   以下のために(; iは3 <; I = 0 int型私は++)
   {
      Console.WriteLineを(以下"请用户输入账号:")。
      文字列名= Console.ReadLine();
      Console.WriteLineを( "用户输入密码请:");
      文字列のパスワード= Console.ReadLine();
     文字列writeCon =ユーザ名+ "|" +パスワード;
     sw.WriteLine(Md5Encrypt(writeCon))。
  }
  sw.Close()。
  fs.Close();
 Console.WriteLineを( "写入完成");

 (File.Exists(パス))なら
  、{
       のFileStream FS_ =新しいFileStreamを(パス、FileMode.Open)。
      StreamReaderをsr_ =新しいStreamReaderを(FS_)。
      文字列str_ = String.Emptyを。
      一方、(TRUE)
     {
        str_ = sr_.ReadLine()。
        IF(string.IsNullOrEmpty(str_))
        {
            ブレーク。
       }
       他
        {
    //解析
    ストリングNewStrによってすでに= Md5Decrypt(str_)。
    文字列[] newStrSpl = newStr.Split( '|');
    foreachの(newStrSplにおけるVARアイテム)
    {
    Console.WriteLineを(アイテム)。
    }
  }
}

}

Console.ReadKey();
}
静的Md5Encryptストリング(文字列strSource){
//文字列をバイト配列に
バイト[] = bytIn Encoding.Default.GetBytes(strSource);
//暗号化キーを作成し、オブジェクトのオフセット量
のバイト[] IV = {102、 16、93、156、78、4、218、32}; // 定義オフセット
バイト[] = {キー55、 103、246、79、36、99、167、 3}; //キーを定義する
クラスのインスタンスは、DES暗号化//
DESCryptoServiceProvider mobjCryptoService DESCryptoServiceProvider新しい新=();
; mobjCryptoService.Key = IV
=キーmobjCryptoService.IVと、
; ICryptoTransform encrypto mobjCryptoService.CreateEncryptor =()の
//例暗号化ストリームのMemoryStreamファイル
System.IO.MemoryStream新しい新しいSystem.IO.MemoryStream MS =();
CryptoStream新しい新しいCSは(、CryptoStreamMode.WriteをMS、encrypto)CryptoStreamを=。
cs.Write(bytIn、0、bytIn.Length)。
cs.FlushFinalBlock();
ストリングstrOut = System.Convert.ToBase64String(ms.ToArray())。
strOutを返します。

}

Md5Decryptストリングのpublic static(ソース文字列)
{
//はバイト配列に復号化された文字列を変換する
バイト[] = bytIn System.Convert.FromBase64String(ソース);
//オフセット指定された鍵と復号鍵、及びキーは、オフセット量と同一である暗号化オフセットしなければならない
バイト[] IV = {102、 16、93、156、78、4、218、32}; // 定義オフセット
バイト[]キー= { 55、103、246、79、36、99、167、3}; //キー定義
DESCryptoServiceProvider mobjCryptoService DESCryptoServiceProvider新しい新=();
mobjCryptoService.Key = IVと、
mobjCryptoService.IV =キー、
ストリーム復号化の//例
システム。 MS =新しい新しいSystem.IO.MemoryStream IO.MemoryStream(bytIn、0、bytIn.Length)
のICryptoTransform encrypto mobjCryptoService.CreateDecryptor =();
CryptoStream新しい新しいCSはCryptoStream(MS、encrypto、CryptoStreamMode.Read)を=。
StreamReaderをSTRD =新しいStreamReaderを(CS、Encoding.Default)。
strd.ReadToEndを返します();
}
}

おすすめ

転載: www.cnblogs.com/Damon-3707/p/11257871.html