我需要在一台计算机上加密文件,并在没有外部库的情况下使用PHP打开另一个文件。该代码应该可以在PHP4和PHP5上运行。PHP加密/解密default_charset问题
加密函数使字符串str_split并使用str_split的密码对每个字符(ord)进行编码。然后它使得chr和我得到二进制数据。这个二进制数据是使用base64_encode进行编码的,我得到了ascii字符串。
我将此文件传输给知道密码的另一台计算机。 我做base64_decode并进行解密。
问题出现有时是因为第一台计算机有ASCII default_charset,第二台有UTF-8。 这就是为什么nth-char $ temproraryBinaryString [$ n-1]在这些计算机上可能有不同的值。
如果我无法在任何这些计算机上控制php.ini,我可以让PHP将所有字符串视为ASCII吗?
不要重新发明轮子,而应使用现有的加密算法。 – Gumbo 2011-05-20 16:24:41
可能出现[使用PHP加密和解密的最佳方式?](http://stackoverflow.com/questions/1289061/best-way-to-use-php-to-encrypt-and-decrypt) – 2011-05-20 16:45:37