当前位置: 代码迷 >> ASP.NET >> 用户注册加密有关问题
  详细解决方案

用户注册加密有关问题

热度:7468   发布时间:2013-02-25 00:00:00.0
用户注册加密问题?
怎么才能在注册用户里加密呢。如果不加密直接就能年到密码内容,会有安全问题吧?
希望高手指点下!

------解决方案--------------------------------------------------------
密码格式有三种: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;      }
  相关解决方案