ホームページ  >  記事  >  バックエンド開発  >  PHPでaes暗号化を実装する方法

PHPでaes暗号化を実装する方法

WBOY
WBOYオリジナル
2022-03-15 10:24:4333868ブラウズ

PHP では、「openssl_encrypt()」関数を使用して aes 暗号化を実装できます。パラメータの暗号化方式を「AES-128-ECB」に設定するだけです。構文は「openssl_decrypt(暗号化された平文、「AES-128-ECB」、暗号化キー、データ形式)。

PHPでaes暗号化を実装する方法

この記事の動作環境: Windows 10 システム、PHP バージョン 7.1、Dell G3 コンピューター。

php で aes 暗号化を実装する方法

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= 3

5.$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=3

5.$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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。