• 締切済み

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); // 暗号文をファイル出力 ?> これで出力される暗号文が文字化けしたような文字コードになっているのですが、これは正常なのでしょうか? なにか、エンコード等する必要があるのでしょうか? よろしくお願いします。

みんなの回答

  • shogo0809
  • ベストアンサー率47% (25/53)
回答No.1

openssl_public_encrypt()によって出力されるデータは 「文」ではなく「バイナリ」です。 文字化けしているのではなく、最初から文字ですらありません。 よって動作は正常です。試しに復号化してみては?

kou6666
質問者

お礼

ありがとうございます。 確かに復号化できました。

関連するQ&A