【发布时间】:2019-06-26 07:47:23
【问题描述】:
我需要根据 sha1 算法使用用户的密钥对字符串进行哈希处理,例如:hash = hash (string, secret_key).
我使用这个代码:
byte[] data = sha1.ComputeHash(Encoding.UTF8.GetBytes(input));
但是我找不到如何在这个算法中使用密钥。
【问题讨论】:
-
你想用这个实现什么?从您在此处发布的小信息来看,加密之类的东西似乎会更好。其中用户密码是用于加密数据的密码。
-
我同意@Tachyon,所描述的用例似乎并不常见。
-
我认为 OP 正在做一些事情,有一种称为盐渍散列的技术,它用字符串扩充原始文本,这样暴力攻击就不能使用预先计算的散列的彩虹表。加盐散列仅涉及将输入与“盐”字符串连接
-
我只是有这个任务,我不会使用它。该任务包含 PHP 中的示例:
hash_hmac('sha1', $input, $secret) -
如果只是为了加盐,你可以将密钥附加到输入中。