作成日:2020-05-14, 更新日:2022-09-22
暗号化と複合化
・暗号化 - openssl_encrypt()
・複合化 - openssl_decrypt()
サンプル
▼細かいことは置いといて・・・下記のような感じ
$data = 'あいうえおかきくけこさしすせそ'; // 設定 $method = 'AES256'; // 暗号化方式 $key = 'xxxxxxxxxxx'; // 鍵 $options = 0; // OPENSSL_RAW_DATA と OPENSSL_ZERO_PADDING を指定可 $iv = '0123456789012345'; // IV(16文字) // 暗号化 $encrypted = openssl_encrypt($data, $method, $key, $options, $iv); // 復号 $decrypted = openssl_decrypt($encrypted, $method, $key, $options, $iv);
暗号化方式
▼利用可能なメソッド一覧は「openssl_get_cipher_methods()」で調べる
var_dump(openssl_get_cipher_methods(true));
各メソッドの違いは不明。
・・・どれを使えば良いか分からず・・・見ていると「AES128」「AES256」のどちらかを使っている人が多く感じた。
OPENSSL_RAW_DATA、OPENSSL_ZERO_PADDING
指定したら・・・暗号化できなかった・・・原因は未調査のため不明。
IV
桁数に指定があるかは不明・・・19文字でやったらエラーが出た