这真的把我难住了......
我正在使用 PHP 进行加密。
使用内存,一切都很好....
//encrypt the sensitive data
$encryptedData = encrypt($senstiveData, $theKey);
//decrypt the data
$decryptedData = decrypt($encryptedData, $theKey);
//print decrypted string
echo "<br>Decrypted String:" . $decryptedData;
即解密的字符串:包含正确的值。
但是,如果我将信息写入文件......它会中断。
$orderFile = "orders.dat";
$fh = fopen($orderFile, 'a') or die("can't open file");
fwrite($fh, $keyCode . "\n");
$serializedArray = serialize($encryptedData);
fwrite($fh, $serializedArray . "\n");
fclose($fh);
$file = fopen("orders.dat","r");
//key is first line in 'orders.dat'
$theKey = fgets($file);
//serialised array is second line...
$unserializedArray = unserialize(fgets($file));
$decryptedData2 = decrypt($unserializedArray, $theKey);
//print decrypted string
echo "<br>Decrypted String:" . $decryptedData2 . "<br>";
而且……答案不正确。
我已经验证了两个版本中使用的键和数组是相同的(即重建的未序列化数组包含与序列化之前相同的值),当我写入文件时可能会丢失一些东西吗?
我应该开始寻找调试的任何想法?
任何建议将不胜感激,米奇。