Maison >développement back-end >tutoriel php >PHP implémente le code de base et le code de test de cryptage et de décryptage AES
Cet article vous apporte le code de base et le code de test pour implémenter le cryptage et le décryptage AES en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Code de base :
<?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); } }
Code de test :
$aes = new OpenSSLAES('12345678'); $encrypted = $aes->encrypt('bbm是一家很有意思的公司'); echo '要加密的字符串:bbm是一家很傻逼的公司<br>加密后的字符串:', $encrypted, '<hr>'; $decrypted = $aes->decrypt($encrypted); echo '要解密的字符串:', $encrypted, '<br>解密后的字符串:', $decrypted;
Recommandations associées :
Cryptage et décryptage Cryptage et décryptage PHP Blowfish algorithme
php Exemples de cryptage et de décryptage rsa, exemple de cryptage et de décryptage rsa
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!