PHP完整的AES加解密算法使用及例子(256位)
2015-04-14 10:26
543 查看
依赖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); ?>
相关文章推荐
- AES加解密算法,使用Base64做转码以及辅助加密
- [Day]使用AES在php中加密,并用objective-c解密
- AES加解密算法,使用Base64做转码以及辅助加密:
- 【php】php的AES的算法实现(增加解密算法,优化域算法)
- php中AES加密解密的例子小结
- php AES加密解密的例子
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
- PHP使用mcrypt进行AES加密后的数据NodeJS等无法解密的问题修复方案
- javascript 与 PHP 通信加密,使用AES 128 CBC no padding,以及ios,java,c#文章例子
- jni使用openssl AES256位加解密(cbc模式),匹配java后端服务器算法,解决末尾乱码问题
- 使用PHP7.1的openssl加解密AES-128-CBC,与7.0之前的版本匹配
- php与java通用AES加密解密算法
- 加密解密算法【RSA、AES、DES、MD5】介绍和使用
- javascript与php使用aes进行加密/解密
- GO语言JAVA语言实现的AES/CFB/256位的加密解密例子
- php AES 加解密方法使用函数了解
- 常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
- java和php通用的AES加密解密