【问题标题】:how to get original string value from encrypted string? [duplicate]如何从加密字符串中获取原始字符串值? [复制]
【发布时间】:2014-12-02 21:09:45
【问题描述】:

我正在使用DigestUtils.sha256Hex("password")加密密码。我得到的加密密码为5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

我想要来自 encrypted 的原始密码字符串。我该如何得到它? 请帮我。 谢谢

【问题讨论】:

  • 你不想。永远。

标签: java


【解决方案1】:

Sha256 散列的全部意义在于您无法解密它。在进行登录检查时,您应该对用户输入的密码进行哈希处理,并将其与您存储在数据层中的密码相匹配。

【讨论】:

  • +1。您还应该只存储一个 salted 哈希(类似于sha256Hex(salt+password)。否则任何两个具有相同密码的用户在任何系统中都会获得相同的哈希,并且它变得有点可逆使用彩虹表。例如,您可以 google 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8。
【解决方案2】:

DigestUtils.sha256Hex 不是加密,它是散列。哈希的主要性质是不可逆的

【讨论】:

    猜你喜欢
    • 2014-11-15
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多