我正在从我没有root访问权限的远程服务器上检索会话ID和密钥。我想根据自己的原因加密这些数据,当我必须将密钥发送回API服务器以获取w / e时,我需要解密。据我了解,你不能只解密SHA哈希。有没有办法将会话信息传递给带有特定密码的加密变量,或“解密密钥”,以后会允许我解密?
我搜索了一下,搜索了这个主题。所有这些都是人们希望解密存储在SHA1中的密码。这不是尝试学习如何暴力/碰撞哈希的noob尝试。我有一个合法的目的。
答案 0 :(得分:6)
您不能“解密”SHA-1哈希,它是“摘要”(或“签名”)算法,而不是加密算法。
只能检查你所拥有的其他文本是否具有相同的签名,并且在这方面SHA-1是一种非常强大的算法,尽管并非没有它的弱点,特别是当与低熵源数据一起使用时,例如密码。
答案 1 :(得分:1)
就我而言,没有办法解密SHA-1哈希,因为SHA-1只是一种单向哈希方法。如果人们能够解密那些,那么SHA-1根本就不是一种非常安全的哈希算法。
答案 2 :(得分:0)
散列和加密之间存在很大差异。
哈希是单向的。这意味着一旦你对某些东西进行散列,它就只会作为哈希存在,你不应该从输出中确定输入。 SHA-1就是其中之一。
对于加密,但您想要做到这一点。有不同的方法来实现这一目标。您可以使用对称或非对称加密。区别在于对于对称加密,您需要相同的密钥来加密和解密数据。这方面的例子是DES和AES。非对称加密具有用于加密和解密数据的不同密钥。您也可以使用它们来签名数据。这方面的例子是RSA或ElGamal。