ホームページ  >  記事  >  バックエンド開発  >  .net暗号化アルゴリズム

.net暗号化アルゴリズム

巴扎黑
巴扎黑オリジナル
2016-12-19 16:28:091571ブラウズ

public static string Encrypt(string source)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytes = Encoding.UTF8.GetBytes(source);
byte[] output = md5.ComputeHash(bytes);

return BitConverter.ToString(output);
}
最もよく知られている MD5 加密ですが、解密ではありません。

DES 加解密。

public static string Encrypt(string source)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();

byte[] bytes = Encoding.UTF8.GetBytes(source);

des.Key = ASCIIEncoding.ASCII.GetBytes(key);
des.IV = ASCIIEncoding.ASCII.GetBytes(key);

MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncrypt or(), CryptoStreamMode.Write);

cs.Write( bytes, 0, bytes.Length);
cs.FlushFinalBlock();

StringBuilder sb = new StringBuilder();
foreach (byte b in ms.ToArray())
{
sb.AppendFormat("{0:X2 }",b);
}

return sb.ToString();
}

public static string Decrypt(string source)
{
if (ソース == null || source.Length == 0)
{
return source;
}

DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] bytes = 新しい byte[source.Length / 2];
for (int x = 0; x < source.Length / 2; x++)
{
int i = (Convert.ToInt32(source.Substring(x * 2, 2), 16));
bytes[x] = (て)い;
}

des.Key = ASCIIEncoding.ASCII.GetBytes(key);
des.IV = ASCIIEncoding.ASCII.GetBytes(key);

            MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(bytes, 0, bytes.Length);
cs.FlushFinalBlock();

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


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。