/// <summary> /// 加密密码 /// </summary> /// <param name="password"></param> /// <param name="passwordKey"></param> /// <param name="format"></param> /// <returns></returns> public static string EncodePassword(string password, string passwordKey, CommonEnum.PasswordFormat format) { if (password == null) { return(null); } if (format == CommonEnum.PasswordFormat.Clear) { return(password); } byte[] passwordBytes = Encoding.Unicode.GetBytes(password); byte[] keyBytes = Convert.FromBase64String(passwordKey); byte[] keyedBytes = new byte[passwordBytes.Length + keyBytes.Length]; if (format == CommonEnum.PasswordFormat.Hashed) { Array.Copy(keyBytes, keyedBytes, keyBytes.Length); Array.Copy(passwordBytes, 0, keyedBytes, keyBytes.Length, passwordBytes.Length); return(HashPasswordBytes(keyBytes, keyedBytes)); } else if (format == CommonEnum.PasswordFormat.MD5) { ///return MD5PasswordBytes(keyBytes, passwordBytes); return(MD5Password(password)); } return(string.Empty); }
/// <summary> /// 检查密码是否一致 /// </summary> /// <param name="password"></param> /// <param name="dbpassword"></param> /// <param name="passwordKey"></param> /// <param name="format"></param> /// <returns></returns> public static bool CheckPassword(string password, string dbpassword, string passwordKey, CommonEnum.PasswordFormat format) { password = EncodePassword(password, passwordKey, format); return(password.ToUpper() == dbpassword.ToUpper()); }