读书人

用户注册加密有关问题

发布时间: 2012-02-22 19:36:56 作者: rapoo

用户注册加密问题?
怎么才能在注册用户里加密呢。如果不加密直接就能年到密码内容,会有安全问题吧?
希望高手指点下!

[解决办法]
密码格式有三种:Clear(明文)、Encrypted、Hashed
下面的代码来自微软的源代码:

C# code
   private byte[] GetSaltedPassword(string password, string salt)    {      byte[] passwordBuff = Encoding.Unicode.GetBytes(password);      byte[] saltBuff = Convert.FromBase64String(salt);      byte[] saltedPassword = new byte[saltBuff.Length + passwordBuff.Length];      Buffer.BlockCopy(saltBuff, 0, saltedPassword, 0, saltBuff.Length);      Buffer.BlockCopy(passwordBuff, 0, saltedPassword, saltBuff.Length, passwordBuff.Length);      return saltedPassword;    }    private string GetEncodedPassword(string password, int passwordFormat, string passwordSalt)    {      string encodedPassword;      byte[] buff;      byte[] saltedPassword;      switch (passwordFormat)      {        case 0:          encodedPassword = password;          break;        case 1:          saltedPassword = GetSaltedPassword(password, passwordSalt);          HashAlgorithm hashAlgorithm = HashAlgorithm.Create(Membership.HashAlgorithmType);          buff = hashAlgorithm.ComputeHash(saltedPassword);          encodedPassword = Convert.ToBase64String(buff);          break;        default:          saltedPassword = GetSaltedPassword(password, passwordSalt);          buff = EncryptPassword(saltedPassword);          encodedPassword = Convert.ToBase64String(buff);          break;      } 

读书人网 >asp.net

热点推荐