Преобразуйте хеши base64'd SHA1 для Преобразовывания хешей в шестнадцатеричную систему

У меня есть список паролей в MySQL, которые сгенерированы с помощью

$hash = '{SHA}' . base64_encode(sha1('some string here', true));

Я должен преобразовать их в то, что было бы эквивалентом

$hash = sha1('some string here');

Поскольку это пароль, который использует наша почтовая система, и мы хотим преобразовать в другую почтовую систему (но требует, чтобы это были 40 символьных шестнадцатеричных хешей :(

Как был бы я преобразовывать от одного формата до другого (я вполне уверен, я сделал это прежде, но другой путь, хотя я не могу найти код!)

Как примечание, я упомянул, что данные находятся в MySQL - это не важно - я знаю, как получить данные, просто для не преобразования его.

Хеш является тем же - я только пытаюсь преобразовать способ, которым информация упаковывается (я думаю, что это просто должно быть преобразовано от base64 до base16, но это - просто предположение!)

8
задан Mez 26 May 2010 в 15:42
поделиться

2 ответа

$binary = base64_decode(substr($hash, 5));
$hex = bin2hex($binary);
17
ответ дан 5 December 2019 в 12:08
поделиться

Ну base64_decode() можно найти в записи руководства base64_encode.
И я уверен, что у них есть способ конвертировать сырой формат в комментариях к руководству sha1, если вам слишком сложно написать его самостоятельно

-3
ответ дан 5 December 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: