PHP では、「openssl_encrypt()」関数を使用して aes 暗号化を実装できます。パラメータの暗号化方式を「AES-128-ECB」に設定するだけです。構文は「openssl_decrypt(暗号化された平文、「AES-128-ECB」、暗号化キー、データ形式)。
この記事の動作環境: Windows 10 システム、PHP バージョン 7.1、Dell G3 コンピューター。
php では、openssl_encrypt を使用して暗号化を実装し、openssl_decrypt を使用して復号化を実装します
1: openssl_encrypt メソッドの詳細な説明:
openssl_encrypt($data, $method, $key, $options = 0, $iv = "", &$tag = NULL, $aad = "", $tag_length = 16)
パラメータ:
1.$data: 暗号化されたプレーンテキスト
2.$method: 暗号化方式: openssl_get_cipher_methods()# を通じて取得できる暗号化方式
# #3.$passwd: 暗号化キー [パスワード]4.$options: データ形式オプション (オプション) [オプションは:]: 0、OPENSSL_RAW_DATA=1、OPENSSL_ZERO_PADDING=2、OPENSSL_NO_PADDING= 35.$iv: パスワード初期化ベクトル (オプション)、注意してください: メソッドが DES-ECB の場合、iv を入力する必要はありません 6.$tag: 使用します参照された検証タグを渡すときの AEAD パスワード モード (GCM または CCM) (オプション) 7.$aad: 追加の検証データ。 (オプション) 8.$tag_length: タグの長さを確認します。 GCM モードの場合、範囲は 4 ~ 16 (オプション)2: openssl_decrypt メソッドの詳細説明
openssl_decrypt($data, $method, $password, $options = 1, $iv = "", $tag = "", $aad = "")Parameters:1.$ data: 復号化される暗号化されたメッセージ。 2.$method: 復号化メソッド: openssl_get_cipher_methods()を通じて取得できる復号化メソッド: 3.$passwd: 復号化キー [パスワード]4.$ オプション: データ形式オプション (オプション) [オプションは次のとおりです:] 0、OPENSSL_RAW_DATA=1、OPENSSL_ZERO_PADDING=2、OPENSSL_NO_PADDING=35.$iv: シークレット初期化ベクトル (オプション)、注意してください: If メソッドがDES-ECB、iv は入力する必要はありません。6.$tag: AEAD パスワード モードの認証タグ (オプション)7.$aad: 追加の検証データ。 (オプション)
3: AES 暗号化と復号化の実装
1: AES 暗号化// 要加密的字符串 $data = 'test'; // 密钥 $key = '123456'; // 加密数据 'AES-128-ECB' 可以通过openssl_get_cipher_methods()获取 $encrypt = openssl_encrypt($data, 'AES-128-ECB', $key, 0); echo (($encrypt));2:AES 復号化
//解密字符串 $encrypt = '***'; //密钥 $key = '123456'; // 解密数据 $decrypt = openssl_decrypt($encrypt, 'AES-128-ECB', $key, 0); echo $decrypt;上記により、AES の暗号化と復号化機能を実現できます。 推奨学習:「
PHP ビデオ チュートリアル 」
以上がPHPでaes暗号化を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。