private static byte[] GetHash(SHA_Type shaType, byte[] bytes) { byte[] hash = null; switch (shaType) { case SHA_Type.SHA1: SHA1 sha1 = SHA1Managed.Create(); hash = sha1.ComputeHash(bytes); break; case SHA_Type.SHA256: SHA256 sha256 = SHA256Managed.Create(); hash = sha256.ComputeHash(bytes); break; case SHA_Type.SHA512: SHA512 sha512 = SHA512Managed.Create(); hash = sha512.ComputeHash(bytes); break; default: throw new NotSupportedException(); } return(hash); }
private static string GetHashSHA(string text, SHA_Type _type) { byte[] bytes = Encoding.UTF8.GetBytes(text); string hashString = string.Empty; byte[] hash = null; if (_type == SHA_Type.SHA_512) { SHA512Managed hashstring_512 = new SHA512Managed(); hash = hashstring_512.ComputeHash(bytes); } else { SHA256Managed hashstring_256 = new SHA256Managed(); hash = hashstring_256.ComputeHash(bytes); } foreach (byte x in hash) { hashString += String.Format("{0:x2}", x); } return(hashString); }
public static string ToSHA(this string inputString, SHA_Type shaType) { byte[] bytes = Encoding.UTF8.GetBytes(inputString); byte[] hash = GetHash(shaType, bytes); return(GetStringFromHash(hash)); }