好吧,作为加密的新手,我终于设计出了一个很棒的系统。问题是,我很确定它破坏了我的 SQL 查询。如果你们中的任何人可以帮助我,我相信这是我很容易忽略的事情。这是我用来生成密钥的代码:
include('Crypt/RSA.php');
$rsa = new Crypt_RSA();
extract($rsa->createKey());
这是加密的代码:
openssl_public_encrypt($data, $encrypted, $publickey);
return $encrypted;
以上所有这些都可以正常工作,我通过一个函数调用它。所有加密本身都有效。问题是当我尝试将值存储在 MySQL 数据库中时,我的查询随机失败。
当我打印要调试的查询时,我看到加密字符串 '��y�6u�������2�N���Ī�:ï¿½ï¿ ½ï¿½ï¿½ï¿½ï¿½7�����Bï¿ ½ï¿½ï¿½ï¿½<����� ��7�;[�N\�����y/�X��ßÖŸ*���
=�- ï¿½ï¿½ï¿ ½ï¿½ï¿½Z�EI)ß�'�cy/� I��#?��1Gh��$�d�
这有时会过早地结束查询字符串。我想知道是否应该指定一个特定的字符集,或者我是否需要更改 MySQL 数据类型(它被设置为 LONGTEXT 然后 LONGBLOB)。
再次提前感谢!