我对对称加密没有经验。我正在使用以下代码在 php 中加密 pdf 文件:
$source_filepath = RB::get('docroot') . RB::get('baseUrl') . '/submissions/' . $this->_filename;
$encrypted_filepath = $source_filepath . '.nc';
$pdf_data = file_get_contents($source_filepath);
$encrypted_data = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, '1234567812345678', $pdf_data, MCRYPT_MODE_ECB);
file_put_contents($encrypted_filepath, $encrypted_data);
然后我需要在 php 之外解密它,可能使用另一台计算机上的桌面应用程序/实用程序。我试图用 aescrypt 实用程序(http://www.aescrypt.com/)解密文件,它告诉我:
“错误:错误的文件头(不是 aescrypt 文件或已损坏?[c, fffffff0, fffffffe])”
以及告诉我的 mcrypt 命令:文件 thefile.pdf.nc 未成功解密。
我还没有能够解密任何用 php 之外的 encrypt 加密的东西。我曾尝试使用河豚并使用 bcrypt ( http://bcrypt.sourceforge.net/ ) 对其进行解密,结果也相似。我怀疑我对加密如何工作的无知是罪魁祸首,但任何帮助或教育将不胜感激。谢谢。