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

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

WBOY
リリース: 2023-03-15 16:06:02
オリジナル
34030 人が閲覧しました

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

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート