1

実際には、暗号化されたパスワードからパスワードを取り戻したいと思っています。

パスワードは次のように暗号化されます。

MessageDigest md = MessageDigest.getInstance("SHA");
md.reset();
byte[] encryptedBinarySource = md.digest(source.getBytes("UTF-8"));

の値を解読する方法はencryptedBinarySource?

4

2 に答える 2

5

できません。SHA は一方向の暗号化です。それを復号化できると、その唯一の目的が壊れてしまいます。むしろ、双方向の暗号化アルゴリズムを使用してください。または、パスワードなどの機密情報を暗号化することを意図している場合は、新しく入力したパスワードを同じ方法で暗号化し、その結果をどこかに保存した元の暗号化されたパスワードと比較する必要があります。

ただし、ユーザー (およびハッカー) がハッシュに基づいて元の値を明らかにできるようにする、いわゆるレインボー テーブルがあります。ただし、SHA の場合、一致が成功する可能性は MD5 よりもはるかに低くなります。

于 2011-02-01T11:20:28.977 に答える
3

ハッシュを復号化することはできません。ハッシュは一方向関数です。ハッシュされたパスワードは、実際のパスワードを保存しないために実際に使用されます (ユーザーが入力したパスワードをハッシュし、保存されたハッシュと比較します)

于 2011-02-01T11:20:43.800 に答える