2

我正在从我没有 root 访问权限的远程服务器检索会话 ID 和密钥。我想出于自己的原因加密这些数据,当我必须将密钥发送回 API 服务器以进行 w/e 时,我需要解密。据我了解,您不能只解密 SHA 哈希。有没有办法将会话信息传递给具有特定密码或“解密密钥”的加密变量,以便稍后允许我解密?

我已经搜索过,并用谷歌搜索了这个主题。结果只是人们希望解密存储在 SHA1 中的密码。这不是学习如何暴力破解/碰撞哈希的菜鸟尝试。我有一个合法的目的。

4

3 回答 3

6

您不能“解密” SHA-1 哈希,它是“摘要”(或“签名”)算法而不是加密算法。

只能检查您拥有的其他一些文本是否具有相同的签名,在这方面,SHA-1 是一种非常强大的算法,尽管并非没有弱点,特别是在与密码等低熵源数据一起使用时。

于 2012-10-25T22:21:02.227 回答
1

就我而言,没有办法解密 SHA-1 哈希,因为 SHA-1 只是一种单向哈希方法。如果人们能够解密这些,那么 SHA-1 根本就不是一种非常安全的散列算法方法。

于 2012-10-25T22:21:42.660 回答
0

散列和加密之间存在很大差异。

散列是单向的。这意味着一旦你散列一些东西,它只会作为散列存在,你不应该能够从输出中确定输入。SHA-1 就是其中之一。

但是,对于加密,您希望做到这一点。也有不同的方法可以实现这一点。您可以使用对称或非对称加密。不同之处在于,对于对称加密,您需要相同的密钥来加密和解密数据。这方面的例子是 DES 和 AES。非对称加密具有用于加密和解密数据的不同密钥。您还可以使用它们来签署数据。这方面的例子是 RSA 或 ElGamal。

于 2012-10-25T22:26:43.673 回答