Как расшифровать значение - PullRequest
1 голос
/ 01 февраля 2011

На самом деле я хочу получить пароль от зашифрованного пароля.

Пароль шифруется следующим образом:

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

Как расшифровать значение encryptedBinarySource?

Ответы [ 2 ]

5 голосов
/ 01 февраля 2011

Вы не можете.SHA является односторонним шифрованием.Возможность расшифровать его сломала бы его единственную цель.Скорее используйте двусторонний алгоритм шифрования.Или, если вы хотите зашифровать конфиденциальную информацию, такую ​​как пароли, в вашем случае, вам лучше зашифровать только что введенный пароль и сравнить его результат с оригинальным зашифрованным паролем, который вы где-то сохранили.однако это так называемые радужные таблицы , которые позволяют вам (и хакерам!) раскрывать исходное значение на основе хеша.Для SHA шансы на успешный матч намного ниже, чем у MD5.

3 голосов
/ 01 февраля 2011

Вы не можете расшифровать хеш.Хеш является односторонней функцией.Хешированные пароли действительно используются, чтобы не хранить действительный пароль (вы хэшируете введенный пользователем пароль и сравниваете его с сохраненным хешем)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...