C#使用SHA1将字符串哈希到字节数组中

时间:2014-03-23 23:29:43

标签: c# encryption sha1

我使用SHA1加密某些值,如密码。 这是我的代码:

String passwd = Membership.GeneratePassword(10, 2);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(passwd);

但VS返回错误,因为passwd是一个字符串。 我必须将密码存储在字节数组中,所以有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:12)

String passwd = Membership.GeneratePassword(10, 2);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(passwd);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(bytes);

请注意,SHA1不会对数据进行加密,而是对其进行哈希处理。加密数据可以解密。哈希算法是一种方法。

答案 1 :(得分:1)

使用Encoding将字符串转换为字节数组

var bytes= Encoding.UTF8.GetBytes(passwd);
var password = sha.ComputeHash(bytes);