asp.net中提供了很多的加密算法,如:SHA1,MD5... ,同时还提供了一种加密盐(salt)机制。
加密盐就是通过salt和字符串混合加密得出的(salt称为盐,是一串随机字符串,如果salt不一样则加密出来的结果也是不一样的)
由于salt是一个随机数因此下面两个按钮中执行的结果也是不一样的!
废话少说,还是给出相应的代码:
#region ---生成加密盐
public string CreateSalt(int size)
{
//使用加密服务提供程序 (CSP) 提供的实现来实现加密随机数生成器 (RNG).
//using System.Security.Cryptography;
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buff = new byte[size];
rng.GetBytes(buff);
//返回Base64字符串表示形式的随机数
return Convert.ToBase64String(buff);
}
#endregion
#region ---SHA1+Salt进行加密
private string createPwdHashSHA1(string pwd, string salt)
{
string saltAndPwd = string.Concat(pwd,