Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以在 java 中使用 bcrypt 进行散列并再次取消散列?甚至可能吗?我正在尝试一些新的东西,但我对 Unhashing (如果可能的话)一无所知。如果可能的话,有人能给我举个例子吗?
如果密钥已知,是否存在可逆的哈希算法?
根据定义,散列是一种单向操作。您无法从其缓存中检索源值。实际上可以有许多值产生相同的散列但是理论上不应该存在将散列转换为值的算法(根据定义)。
如果您正在谈论覆盖 hashCode(),如果您的对象可以有超过 2^32 个状态,那么就不可能进行任何可逆哈希。只有 2^32 个可能的哈希值(因为 hashCode() 返回 int),所以只能表示 2^32 个不同的状态。