さて、暗号化の新参者として、私はついに素晴らしいシステムを完成させました。問題は、それが私の 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 に設定された) かどうか疑問に思っています。
よろしくお願いします!