`
javatoyou
  • 浏览: 1018714 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

MD5加密解密

阅读更多

using System;
using System.Text;
using System.IO;
using System.Security.Cryptography;

class Class1
{
static void Main()
{
Console.WriteLine("Encrypt String...");
txtKey = "tkGGRmBErvc=";//设置加密Key
btnKeyGen();
Console.WriteLine("Encrypt Key :{0}",txtKey);
txtIV = "Kl7ZgtM1dvQ=";//设置加密IV
btnIVGen();
Console.WriteLine("Encrypt IV :{0}",txtIV);
Console.WriteLine();

string txtEncrypted = EncryptString("测试");
Console.WriteLine("Encrypt String : {0}",txtEncrypted);

string txtOriginal = DecryptString(txtEncrypted);
Console.WriteLine("Decrypt String : {0}",txtOriginal);
}

private static SymmetricAlgorithm mCSP;
private static string txtKey;
private static string txtIV;

private static void btnKeyGen()
{
mCSP = SetEnc();

byte[] byt2 = Convert.FromBase64String(txtKey);

mCSP.Key = byt2;
}

private static void btnIVGen()
{
byte[] byt2 = Convert.FromBase64String(txtIV);

mCSP.IV = byt2;
}

private static string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;

ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);

byt = Encoding.UTF8.GetBytes(Value);

ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();

cs.Close();

return Convert.ToBase64String(ms.ToArray());
}

private static string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;

ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);

byt = Convert.FromBase64String(Value);

ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();

cs.Close();

return Encoding.UTF8.GetString(ms.ToArray());
}

private static SymmetricAlgorithm SetEnc()
{
return new DESCryptoServiceProvider();
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics