PHP完整的AES加解密算法使用及例子(256位)

简介: 依赖PHP自身的mcrypt扩展    如何联系我:【万里虎】www.bravetiger.cn【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起)【博客】http://www.cnblogs.com/kenshinobiy/

依赖PHP自身的mcrypt扩展

 

<?php
class aes {
 
    // CRYPTO_CIPHER_BLOCK_SIZE 32
     
    private $_secret_key = 'default_secret_key';
     
    public function setKey($key) {
        $this->_secret_key = $key;
    }
     
    public function encode($data) {
        $td = mcrypt_module_open(MCRYPT_RIJNDAEL_256,'',MCRYPT_MODE_CBC,'');
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_RAND);
        mcrypt_generic_init($td,$this->_secret_key,$iv);
        $encrypted = mcrypt_generic($td,$data);
        mcrypt_generic_deinit($td);
         
        return $iv . $encrypted;
    }
     
    public function decode($data) {
        $td = mcrypt_module_open(MCRYPT_RIJNDAEL_256,'',MCRYPT_MODE_CBC,'');
        $iv = mb_substr($data,0,32,'latin1');
        mcrypt_generic_init($td,$this->_secret_key,$iv);
        $data = mb_substr($data,32,mb_strlen($data,'latin1'),'latin1');
        $data = mdecrypt_generic($td,$data);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
         
        return trim($data);
    }
}
 
$aes = new aes();
$aes->setKey('key');
 
// 加密
$string = $aes->encode('string');
// 解密
$aes->decode($string);
?>

 

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
1月前
|
PHP 数据安全/隐私保护
在PHP中使用AES进行加密和解密
在PHP中使用AES进行加密和解密
|
2月前
|
存储 算法 安全
【加密算法】AES对称加密算法简介
【加密算法】AES对称加密算法简介
|
2月前
|
安全 小程序 数据安全/隐私保护
aes加密算法python版本
aes加密算法python版本
39 0
|
2月前
|
算法 安全 Java
Java 实现 RSA 非对称加密算法-加解密和签名验签
Java 实现 RSA 非对称加密算法-加解密和签名验签
|
4月前
|
存储 算法 安全
百度搜索:蓝易云【php几种常用的加密解密算法】
请注意,以上算法都有各自的特点和用途,选择合适的加密解密算法应根据具体需求和安全性要求。此外,加密只是数据保护的一部分,安全实现还应考虑其他因素,如密钥管理、访问控制和安全传输等。
58 0
|
3月前
|
并行计算 算法 搜索推荐
简单学习一下AES算法:GCM、ECB、CFB、OFB等
简单学习一下AES算法:GCM、ECB、CFB、OFB等
148 0
|
2月前
|
算法 Android开发
安卓逆向 -- 自吐算法(3DES和AES)
安卓逆向 -- 自吐算法(3DES和AES)
18 1
|
2月前
|
算法 数据安全/隐私保护
火山中文编程 -- DES算法和AES算法
火山中文编程 -- DES算法和AES算法
20 0
|
3月前
|
存储 前端开发 JavaScript
JavaScript学习 -- AES加密算法
JavaScript学习 -- AES加密算法
39 0
|
3月前
|
算法 Java 数据库连接
实现 MyBatis-Plus 中的配置加密功能(使用 AES 算法)
实现 MyBatis-Plus 中的配置加密功能(使用 AES 算法)
155 0