private string hash(string text) { byte[] data = Encoding.Default.GetBytes(text); byte[] result = new SHA256Managed().ComputeHash(data); return(string.Join("", result.Select(x => Convert.ToString(x, 2).PadLeft(8, '0')))); }
/// <summary> /// 哈希加密,采用256位加密 /// </summary> /// <param name="source">待加密字符串</param> /// <returns>加密后字符串</returns> public static string Encrypt(string source) { byte[] passwordAndSaltBytes = System.Text.Encoding.UTF8.GetBytes(source); byte[] hashBytes = new SHA256Managed().ComputeHash(passwordAndSaltBytes); return(string.Join(string.Empty, hashBytes.Select(i => i.ToString("x2")))); }
// ReSharper disable once InconsistentNaming private static string SHA256(byte[] input) { var hash = new SHA256Managed().ComputeHash(input); return(string.Join("", hash.Select(b => b.ToString("x2")).ToArray())); }
public void SetPassword(string password) { if (this.HashType == HashType.None) { this.HashType = HashType.SHA256Salted; } switch (this.HashType) { case HashType.PlainText: this.Password = password; break; case HashType.SHA256Salted: byte[] salt = new byte[32]; new RNGCryptoServiceProvider().GetBytes(salt); byte[] hash = new SHA256Managed().ComputeHash(salt.Concat(Encoding.UTF8.GetBytes(password)).ToArray()); this.Password = string.Join(null, salt.Select(b => b.ToString("x2"))) + string.Join(null, hash.Select(b => b.ToString("x2"))); break; default: throw new InvalidOperationException("The account has an unknown hash type."); } }
private string EncryptPassword(string password) { var bytes = new SHA256Managed().ComputeHash(Encoding.ASCII.GetBytes(password)); return(string.Join("", bytes.Select(x => x.ToString("X2")))); }
/// <summary> /// Faz o hash da senha do usuário. /// </summary> /// <param name="input"></param> /// <returns></returns> public string FazerHashDaSenha(string input) { byte[] hash = new SHA256Managed().ComputeHash(Encoding.UTF8.GetBytes(input)); return(string.Concat(hash.Select(b => b.ToString("x2")))); }