SHA1加密在软件开发中经常使用, 由于是单向加密也称作不可逆加密, 经常用来做为校验使用, 可以用来校验用户密码, 文件校验
/// <summary>
/// SHA1字符串加密
/// </summary>
/// <param name="input">需要加密字符串</param>
/// <returns>返回40位大写字符串</returns>
public static string SHA1(string input)
{
try
{
using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider())
{
string result = "";
byte[] btInput = System.Text.Encoding.UTF8.GetBytes(input);
byte[] btOut = sha1.ComputeHash(btInput);
for (int i = 0; i < btOut.Length; i++)
{
result += btOut[i].ToString("X2");
}
return result;
}
}
catch
{
throw;
}
}
/// <summary>
/// SHA1文件流加密
/// </summary>
/// <param name="input">文件流</param>
/// <returns>返回40位大写字符串</returns>
public static string SHA1(Stream input)
{
try
{
using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider())
{
string result = "";
byte[] btOut = sha1.ComputeHash(input);
for (int i = 0; i < btOut.Length; i++)
{
result += btOut[i].ToString("X2");
}
return result;
}
}
catch
{
throw;
}
}