ホームページ バックエンド開発 PHPチュートリアル PHP は AES 暗号化と復号化のコア コードとテスト コードを実装します

PHP は AES 暗号化と復号化のコア コードとテスト コードを実装します

Aug 14, 2018 pm 02:06 PM
PHP暗号化 PHPの復号化

この記事では、PHP で AES 暗号化と復号化を実装するためのコア コードとテスト コードを紹介します。一定の参考値があります。必要な友人は参照できます。お役に立てれば幸いです。

コア コード:

<?php
 
namespace Aes;
 
class Aes
{
    /**
     * var string $method 加解密方法,可通过openssl_get_cipher_methods()获得
     */
    protected $method;
 
    /**
     * var string $secret_key 加解密的密钥
     */
    protected $secret_key;
 
    /**
     * var string $iv 加解密的向量,有些方法需要设置比如CBC
     */
    protected $iv;
 
    /**
     * var string $options (不知道怎么解释,目前设置为0没什么问题)
     */
    protected $options;
 
    /**
     * 构造函数
     *
     * @param string $key 密钥
     * @param string $method 加密方式
     * @param string $iv iv向量
     * @param mixed $options 还不是很清楚
     *
     */
    public function __construct($key, $method = 'AES-128-ECB', $iv = '', $options = 0)
    {
        // key是必须要设置的
        $this->secret_key = isset($key) ? $key : 'morefun';
 
        $this->method = $method;
 
        $this->iv = $iv;
 
        $this->options = $options;
    }
 
    /**
     * 加密方法,对数据进行加密,返回加密后的数据
     *
     * @param string $data 要加密的数据
     *
     * @return string
     *
     */
    public function encrypt($data)
    {
        return openssl_encrypt($data, $this->method, $this->secret_key, $this->options, $this->iv);
    }
 
    /**
     * 解密方法,对数据进行解密,返回解密后的数据
     *
     * @param string $data 要解密的数据
     *
     * @return string
     *
     */
    public function decrypt($data)
    {
        return openssl_decrypt($data, $this->method, $this->secret_key, $this->options, $this->iv);
    }
}
ログイン後にコピー

テスト コード:

$aes = new OpenSSLAES('12345678');
 
$encrypted = $aes->encrypt('bbm是一家很有意思的公司');
 
echo '要加密的字符串:bbm是一家很傻逼的公司<br>加密后的字符串:', $encrypted, '<hr>';
 
$decrypted = $aes->decrypt($encrypted);
 
echo '要解密的字符串:', $encrypted, '<br>解密后的字符串:', $decrypted;
ログイン後にコピー

関連する推奨事項:

暗号化と復号化 php フグの暗号化と復号化アルゴリズム

PHP および DES の暗号化関数と復号化関数の暗号化と復号化の例、phpdes 暗号化と復号化の例

php rsa 暗号化と復号化例、rsa 暗号化と復号化の例

以上がPHP は AES 暗号化と復号化のコア コードとテスト コードを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP の暗号化と復号化の方法と一般的な問題の解決策 PHP の暗号化と復号化の方法と一般的な問題の解決策 Jun 09, 2023 pm 01:50 PM

PHP の暗号化と復号化の方法と一般的な問題の解決策

PHP がデータの暗号化、復号化、送信を実装してデータのセキュリティを確保する方法 PHP がデータの暗号化、復号化、送信を実装してデータのセキュリティを確保する方法 Jun 27, 2023 am 10:44 AM

PHP がデータの暗号化、復号化、送信を実装してデータのセキュリティを確保する方法

PHP 配列を使用したデータの暗号化と復号化の方法と技術 PHP 配列を使用したデータの暗号化と復号化の方法と技術 Jul 16, 2023 pm 04:02 PM

PHP 配列を使用したデータの暗号化と復号化の方法と技術

PHP 暗号化テクノロジーを使用して登録プロセスを保護し、登録詐欺を防ぐ方法 PHP 暗号化テクノロジーを使用して登録プロセスを保護し、登録詐欺を防ぐ方法 Aug 19, 2023 pm 12:05 PM

PHP 暗号化テクノロジーを使用して登録プロセスを保護し、登録詐欺を防ぐ方法

PHP 開発スキル: データの暗号化および復号化機能の実装方法 PHP 開発スキル: データの暗号化および復号化機能の実装方法 Sep 21, 2023 am 08:51 AM

PHP 開発スキル: データの暗号化および復号化機能の実装方法

PHP での暗号化と復号化 PHP での暗号化と復号化 May 26, 2023 pm 12:51 PM

PHP での暗号化と復号化

PHP の暗号化および復号化テクノロジーと一般的な問題の解決策 PHP の暗号化および復号化テクノロジーと一般的な問題の解決策 Jun 09, 2023 pm 12:36 PM

PHP の暗号化および復号化テクノロジーと一般的な問題の解決策

PHPセキュリティ機密データの暗号化および復号化技術の分析 PHPセキュリティ機密データの暗号化および復号化技術の分析 Jun 30, 2023 pm 02:01 PM

PHPセキュリティ機密データの暗号化および復号化技術の分析

See all articles