У меня есть следующий фрагмент кода, который просто кодирует значение в Base64, используя javascript:
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script>
<script>
var magic = "TEST";
var magic1 = CryptoJS.MD5(magic).toString(CryptoJS.enc.Base64);
document.write(magic1);
</script>
Вывод из приведенного выше приводит к:
AzvZSxFo1+Tw1kTDyV41vw==
Теперь, когда я хочу сделать то же самое в python Я получаю другой результат:
import hashlib
import base64
magic = "TEST"
magic = hashlib.md5(magic.encode())
magic = magic.hexdigest()
magic1= base64.b64encode(magic.encode())
print(magic1)
Вывод из приведенного выше приводит к:
MDMzYmQ5NGIxMTY4ZDdlNGYwZDY0NGMzYzk1ZTM1YmY=
Почему я получаю два разных результата base64 для точно такой же строки? Как мне адаптировать мой python код для работы тогда?
РЕДАКТИРОВАТЬ Я сделал полное обновление, как предлагается, который показывает рабочий код для обоих экземпляров. Я хотел бы понять, почему существует разница между java и python результатом. Как я могу получить такой же результат на python.