Я использую blowfish.js
на своих клиентов. Для шифрования на стороне клиента я используюDecrypt blowfish in php
var encryptedData = blowfish.encrypt(
JSON.stringify(myData), myEncryptionKey, {cipherMode: 0, outputType: 0}
);
Таким образом encryptedData
в кодировке Base64 Blowfish строку. Это OK.
Чтобы расшифровать на стороне клиента я использую
var decryptedData = blowfish.decrypt(
encryptedData , myEncryptionKey, {cipherMode: 0, outputType: 0}
);
Так decryptedData
равна JSON.stringify(myData)
. Это OK.
Тогда я посылаю мой encryptedData
в сценарий .php, который содержит
$data = $_POST['data'];
$data = mcrypt_decrypt(MCRYPT_BLOWFISH, $myEncryptionKey, pack('H*',$data), MCRYPT_MODE_ECB);
И когда я пытаюсь напечатать $ данных я получаю что-то непроницаемым, как
�Nv��Xd�̿�:q6��A����,!v��c�O¡1�%>��ҭ� {0�� � ���g�u�����t�z3q$����T��/Ҧ.j-�/!���;�lS���Z�X
��&����{j�m�����F�`7��.......and so on
Это разве OK , Кто-нибудь знает, что я делаю неправильно на стороне сервера?
почему '' упаковка ('H *', $ данных) '' как вы написали '' data'' является base64 строка в кодировке, просто '' base64_decode'' данные и передать его функции расшифровка – ins0
уже пробовал без пакета и все еще получал нечитаемую строку – 966p
Вы подтвердили, что после того, как вы '' base64'' декодируете зашифрованную строку в php, она равна, как на стороне клиента? – ins0