Ниже приведена строка, которую я хочу кодировать:
kiQfEEe89PM07508441110100MYR
Я только что закодировал приведенную выше строку с какого-то сайта и получил следующий вывод:
наговор: b22562fd60cc1bb65caedbaba6d28f21e47b66bb
HEX: B22562FD60CC1BB65CAEDBABA6D28F21E47B66BB
ч: е: х: b2: 25: 62: fd: 60: cc: 1b: b6: 5c: ae: db: ab: a6: d2: 8f: 21: e4: 7b: 66: bb
base64: siVi / WDMG7ZcrturptKPIeR7Zrs =
Я хочу, чтобы результаты выше, используя функцию PHP. Я могу получить точные результаты для hex и HEX, но я не могу получить тот же результат, что и base64.
Я попробовал следующий код:
<?php
echo sha1("kiQfEEe89PM07508441110100MYR");
?>
выход : b22562fd60cc1bb65caedbaba6d28f21e47b66bb
<?php
base64_encode("kiQfEEe89PM07508441110100MYR")
?>
выход : a2lRZkVFZTg5UE0wNzUwODQ0MTExMDEwME1ZUg==
(Это неверно)
Я хочу ввести kiQfEEe89PM07508441110100MYR
и увидеть вывод как siVi/WDMG7ZcrturptKPIeR7Zrs=
используя функцию PHP.
Веб-сайт не давал вам base64 этой строки, он давал вам base64 двоичного вывода SHA-1 хеш этой строки (как вы можете сказать, потому что «шестнадцатеричный» вывод сайта совпадает с выводом, полученным из хэша SHA-1). Чтобы воспроизвести это в PHP, выполните:
echo base64_encode(sha1("kiQfEEe89PM07508441110100MYR", true));
Других решений пока нет …