Функция получит загруженный файл и зашифрует его для сохранения на сервере, я думаю об использовании openssl_encrypt.
Тип шифрования будет AES256.
После того, как веб-сервис будет запрошен, он вернет зашифрованный документ base 64, который будет расшифрован на стороне JS с использованием файла crypto-js.
Знаете, мой вопрос: как я могу выполнить процесс шифрования с помощью функции openssl_encrypt php?
Процесс шифрования:
- fopen
- зашифровать
- кодировать base64
- fwrite
- fclose
Процесс расшифровки:
- База декодирования 64
- Расшифровать
- Откройте PDF-документ
Я имею в виду описанные выше процессы, пожалуйста, поправьте меня, если я ошибаюсь или есть ошибка.
Этап 1:
Код PHP:
После обработки файла:
$encryptionMethod = "AES-256-CBC";
$secret = "1234567890@@@@@@@@@@123456789012"; //must be 32 char length
$iv = substr($secret, 0, 16);
$encryptedMessage = openssl_encrypt($textToEncrypt, $encryptionMethod, $secret,0,$iv);
На jquery для дешифрования не работает:
var ckey = "1234567890@@@@@@@@@@123456789012";
var decrypted = CryptoJS.AES.decrypt(data.content, ckey, { iv: "1234567890@@@@@@" });
PDF-файл создается снова, но я не могу его открыть, отображается сообщение об ошибке «Acrobat не может открыть файл».
Почему я получаю это?