- 締切済み
PHPでの文字化け
公開鍵による暗号化のプログラムで、ソースは以下のとおりです。 <?php // 初期設定 $data = file_get_contents('data.txt'); // 平文を読込み $cert = file_get_contents('cert.pem'); // 証明書を読込み $enc_file = 'enc'; // 暗号文ファイルパス // 公開鍵による暗号化処理 $cert_res = openssl_pkey_get_public($cert); // 証明書リソースを取得 openssl_public_encrypt($data, $enc, $cert_res); // データを暗号化 file_put_contents($enc_file, $enc); // 暗号文をファイル出力 ?> これで出力される暗号文が文字化けしたような文字コードになっているのですが、これは正常なのでしょうか? なにか、エンコード等する必要があるのでしょうか? よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- shogo0809
- ベストアンサー率47% (25/53)
回答No.1
openssl_public_encrypt()によって出力されるデータは 「文」ではなく「バイナリ」です。 文字化けしているのではなく、最初から文字ですらありません。 よって動作は正常です。試しに復号化してみては?
お礼
ありがとうございます。 確かに復号化できました。