加密&解密

时间:2014-07-04 08:51:21

标签: c# encryption sha1

我想使用SHA1进行加密。我的代码是

public static string EncryptPassword(string password)
{
    try
    {
        SHA1 sha1 = new SHA1Managed();
        var bytehash = sha1.ComputeHash(new MemoryStream(new ASCIIEncoding().GetBytes(password)));
        var stringhash = new ASCIIEncoding().GetChars(bytehash).ToString();

        return stringhash;
    }
    catch (Exception ex)
    {
        // Some Exception....
    }

    return null;
}

它无法正常工作。它只返回System.Char []。我在这个

中做错了什么

2 个答案:

答案 0 :(得分:5)

因为那是ToString()从字符数组中返回的内容......

new string(new ASCIIEncoding().GetChars(bytehash));

并选择莫里斯的答案,这更聪明;)

答案 1 :(得分:3)

使用GetString代替GetChars

var stringhash = new ASCIIEncoding().GetString(bytehash);

然而,Spender会在您的问题上写下评论,并附上另一个问题的链接,以帮助您解决实际问题。 (@Spender感谢此事。)