クラスプログラム
{
静的な無効メイン(文字列[] 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を返します();
}
}