У меня есть список паролей в MySQL, которые сгенерированы с помощью
$hash = '{SHA}' . base64_encode(sha1('some string here', true));
Я должен преобразовать их в то, что было бы эквивалентом
$hash = sha1('some string here');
Поскольку это пароль, который использует наша почтовая система, и мы хотим преобразовать в другую почтовую систему (но требует, чтобы это были 40 символьных шестнадцатеричных хешей :(
Как был бы я преобразовывать от одного формата до другого (я вполне уверен, я сделал это прежде, но другой путь, хотя я не могу найти код!)
Как примечание, я упомянул, что данные находятся в MySQL - это не важно - я знаю, как получить данные, просто для не преобразования его.
Хеш является тем же - я только пытаюсь преобразовать способ, которым информация упаковывается (я думаю, что это просто должно быть преобразовано от base64 до base16, но это - просто предположение!)
$binary = base64_decode(substr($hash, 5));
$hex = bin2hex($binary);
Ну base64_decode()
можно найти в записи руководства base64_encode.
И я уверен, что у них есть способ конвертировать сырой формат в комментариях к руководству sha1, если вам слишком сложно написать его самостоятельно