Я пытаюсь декодировать зашифрованные данные в PHP, однако возвращаемое значение возвращается в нуль.
Данные, подлежащие расшифровке, поступают в файл PHP в качестве аргумента данных.
$dataArg1 = $_REQUEST["data"]; // Retrieve $encryptedData from storage ... // // Load the private key and decrypt the encrypted data $encryptedData = $dataArg1; $privateKey = array ( array(123456,654321,123456), array(123456,1234), array(1234567,4321) ); openssl_private_decrypt($encryptedData, $sensitiveData, $privateKey);
Вышеприведенная функция проистекает из второго ответа другой публикации здесь на Stack Overflow: как зашифровать данные в javascript и расшифровать в php?
Я предполагаю, что дешифрованное значение находится в переменной PHP, $ sensitiveData.
Когда я повторяю это на экране, я ничего не получаю.
echo("sensitiveData=[$sensitiveData]<br />");
Мысли?
UPDATE: возвращаемое значение из openssl_private_decrypt () равно FALSE, а возвращаемое значение равно NULL.
ОБНОВЛЕНИЕ 2: Я создал открытый / закрытый ключ из следующего URL-адреса. http://shop-js.sourceforge.net/crypto2.htm
Внизу есть строка: И добавьте следующее в свой частный скрипт (возможно, на локальном жестком диске, а не в Интернете, – если ваш секретный ключ найден, все это бесполезно.)
<script> function decrypt() { // key = [ [d], [p], [q] ]; var key=[[123456789,123456789,123456789],[123456789,1234],[123456789,4321]]; document.form.text.value=rsaDecode(key, document.form.text.value); } </script> (actual values changed)
Я скопировал переведенную строку «var key =» в PHP (по моей другой публикации). Перевод с использованием встроенных массивов. Затем я прошёл этот ключ к функции дешифрования.
Я думал, что документация PHP вызывает закрытый ключ «смешанный». Мне интересно, может, мне нужен другой формат для закрытого ключа.
Вот результат:
dataArg1=[jmOdss9ktFc\"WO5eltUZXt0rpqS1NluNKa] bResult=[] sensitiveData=[] var_dump=[NULL ]