Java 如何从加密字符串中获取原始字符串值?

Java 如何从加密字符串中获取原始字符串值?,java,Java,我正在使用DigestUtils.sha256Hex(“密码”)加密密码。我得到的加密密码是5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a1ef721d1542d8 我想从加密的原始密码字符串。我怎样才能得到它? 请帮帮我。 谢谢。sha256Hex不是加密,而是散列。hash的主要属性它是不可逆的DigestUtils。sha256Hex不是加密,它是hash。散列的主要属性它是不可逆的Sha256散列的全部要点是您无法解密它。在进行登录检

我正在使用
DigestUtils.sha256Hex(“密码”)加密密码。
我得到的加密密码是
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a1ef721d1542d8

我想从加密的原始密码字符串。我怎样才能得到它? 请帮帮我。
谢谢。sha256Hex不是加密,而是散列。hash的主要属性它是不可逆的

DigestUtils。sha256Hex
不是加密,它是hash。散列的主要属性它是不可逆的

Sha256散列的全部要点是您无法解密它。在进行登录检查时,您应该对用户输入的密码进行散列,并将其与存储在数据层中的密码进行匹配。

Sha256散列的全部要点是您无法对其进行解密。在进行登录检查时,您应该对用户输入的密码进行哈希运算,并将其与存储在数据层中的密码进行匹配。

您不想这样做。永远,你不想。从来没有。您还应该只存储一个salt散列(类似于
sha256Hex(salt+password)
。否则,在任何系统中使用相同密码的任何两个用户都会得到相同的哈希值,使用rainbow表,它在某种程度上是可逆的。例如,您可以使用谷歌5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8.+1。您还应该只存储一个盐哈希值(类似于
sha256Hex(盐+密码)
。否则,在任何系统中使用相同密码的任何两个用户都会得到相同的哈希值,使用rainbow表,哈希值在某种程度上是可逆的。例如,您可以使用谷歌5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8。