在这种情况下使用哪种算法

时间:2014-09-23 15:44:55

标签: .net

公共类SecurityModule1 {

public string CreateHash(string strSource)
{
    byte[] bytHash;
    UnicodeEncoding uEncode = new System.Text.UnicodeEncoding();
    byte[] bytSource = uEncode.GetBytes(strSource);
    SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
    bytHash = sha1.ComputeHash(bytSource);
    return Convert.ToBase64String(bytHash);
}

}

你可以解释我在这个安全模块中使用哪种算法并解释该算法

1 个答案:

答案 0 :(得分:0)

通过SHA1CryptoServiceProvider在Google中进行的简单搜索将为您提供答案。参考here

  

使用加密服务提供程序(CSP)提供的实现计算输入数据的SHA1哈希值。

关于SHA1 here

  

SHA-1产生160位(20字节)的哈希值。 SHA-1哈希值通常呈现为十六进制数,长度为40位。

     

SHA代表"安全哈希算法"。四种SHA算法的结构不同,分别命名为SHA-0,SHA-1,SHA-2和SHA-3。 SHA-0是1993年发布的名为" SHA"的160位散列函数的原始版本:许多应用程序都没有采用它。发布于1995年,SHA-1与SHA-0非常相似,但改变了原始SHA哈希规范以纠正所谓的弱点。 SHA-2发布于2001年,与SHA-1哈希函数有很大不同。

     

2005年,密码分析师发现对SHA-1的攻击表明该算法可能不够安全,无法继续使用。

它一直持续......