/// <summary> /// 指定加密算法,加密指定的文本。 /// </summary> /// <param name="alog">加密算法。</param> /// <param name="text">需加密的字符串。</param> /// <param name="encoding">编码方式。</param> /// <returns>加密后的字符串。</returns> public static string Crypto(SecurityAlgorithms alog, string text, Encoding encoding = null) { HashAlgorithm algorithm; switch (alog) { case SecurityAlgorithms.SHA1: algorithm = CreateSHA1(); break; case SecurityAlgorithms.SHA256: algorithm = CreateSHA256(); break; case SecurityAlgorithms.SHA384: algorithm = CreateSHA384(); break; case SecurityAlgorithms.SHA512: algorithm = CreateSHA512(); break; case SecurityAlgorithms.MD5: algorithm = CreateMD5(); break; default: throw new NotSupportedException(); } using (algorithm) { return(algorithm.ComputeHash((encoding ?? Encoding.UTF8).GetBytes(text)).ToHexString()); } }
/// <summary> /// 指定加密算法,加密指定的文本。 /// </summary> /// <param name="alog">加密算法。</param> /// <param name="text">需加密的字符串。</param> /// <param name="encoding">编码方式。</param> /// <returns>加密后的字符串。</returns> public static string Crypto(SecurityAlgorithms alog, string text, Encoding encoding = null) { HashAlgorithm algorithm; switch(alog) { case SecurityAlgorithms.SHA1: algorithm = CreateSHA1(); break; case SecurityAlgorithms.SHA256: algorithm = CreateSHA256(); break; case SecurityAlgorithms.SHA384: algorithm = CreateSHA384(); break; case SecurityAlgorithms.SHA512: algorithm = CreateSHA512(); break; case SecurityAlgorithms.MD5: algorithm = CreateMD5(); break; default: throw new NotSupportedException(); } using(algorithm) { return algorithm.ComputeHash((encoding ?? Encoding.UTF8).GetBytes(text)).ToHexString(); } }