SHA512 в php, как я могу это сделать

Как расхешировать sha512? Кто-нибудь поможет мне расшифровать этот код?

У меня есть этот код:

password_hash(base64_encode( hash('sha512','e4cefc2b2d9fd250c8e526770c2841b4bd9e1f7509ebbd13f997151153c2c86a69a2f28d0f4e9b23e9f2fc31f0103b5a4fae2ad9f1706845ea9b817517943aa2', true) ), PASSWORD_DEFAULT );

Сохраненное значение базы данных:

$password = e4cefc2b2d9fd250c8e526770c2841b4bd9e1f7509ebbd13f997151153c2c86a69a2f28d0f4e9b23e9f2fc31f0103b5a4fae2ad9f1706845ea9b817517943aa2;

person whitecare    schedule 19.04.2018    source источник
comment
Об этом есть тема, если вы хотите проверить: stackoverflow.com/questions/40076870/   -  person hutuh    schedule 19.04.2018
comment
Вы не расхешируете значения, созданные с помощью password_hash(), вы проверяете, соответствуют ли они известному значению с помощью password_verify().   -  person Alex Howansky    schedule 19.04.2018
comment
Также не хэшируйте пароль с sha512 или base64_encode() результатом. Bcrypt (текущее значение по умолчанию для password_hash()) имеет ограничение на пароль в 72 символа, и все, что после этого, игнорируется. sha512 создает хэш из 128 шестнадцатеричных символов, а когда вы base64_encode делаете это, он имеет длину 172 символа, то есть более 50% усекается. Если вы должны сначала предварительно хешировать его, используйте sha256 и не кодируйте base64_encode, потому что все, что он делает, это удлиняет строку и совершенно бессмысленно в этом контексте.   -  person Mike    schedule 19.04.2018


Ответы (1)


Определение хэш-функции состоит в том, что ее нельзя обратить. Период. Если его можно обратить, это не хеш.

person Vietvo    schedule 19.04.2018
comment
Чтобы быть педантичным, это не определение хеш-функции (это намного больше). Но это важное и необходимое свойство криптографических хеш-функций. - person Chris; 19.04.2018