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

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

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

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

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

2 ответа

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

Однако существуют так называемые радужные таблицы, которые позволяют вам (и хакерам!) Раскрывать первоначальное значение на основе хеша. Для SHA шансы на успешный матч намного ниже, чем у MD5.

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

Другие вопросы по тегам