workerman中使用aes加密
来源:互联网 发布:帝国文明源码下载 编辑:程序博客网 时间:2024/05/18 08:02
在ubuntu中,安装mcrypt扩展
apt-get install php5-mcrypt libmcrypt-dev
aes.php
<?phpdefine('SECRETKEY', 'key');define('SECRETIV', 'iv');class aes{/** * 加密方法 * @param string $str * @return string */function encrypt($str) { //AES, 128 ECB模式加密数据 $str = aes::addPKCS7Padding($str); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND); $encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, SECRETKEY, $str, MCRYPT_MODE_CBC, SECRETIV); return base64_encode($encrypt_str);}/** * 解密方法 * @param string $str * @return string */function decrypt($str) { //AES, 128 CBC模式加密数据 $str = base64_decode($str); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND); $encrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, SECRETKEY, $str, MCRYPT_MODE_CBC, SECRETIV); $encrypt_str = aes::stripPKSC7Padding($encrypt_str); return $encrypt_str;}/** * 填充算法 * @param string $source * @return string */function addPKCS7Padding($source) { //$source = trim($source); $block = mcrypt_get_block_size('rijndael-128', 'cbc'); $pad = $block - (strlen($source) % $block); if ($pad <= $block) { $char = chr($pad); $source .= str_repeat($char, $pad); } return $source;}/** * 移去填充算法 * @param string $source * @return string */function stripPKSC7Padding($source) { $char = substr($source, -1); $num = ord($char); $source = substr($source, 0, -$num); return $source;}}?>
在workerman中的引用
include 'aes.php';
$aes = new aes();$enc =$aes -> encrypt($msg);//加密$dec =$aes -> decrypt($enc);//解密
阅读全文
0 0
- workerman中使用aes加密
- JAVA中使用AES加密
- java中AES加密的简单使用
- VS中使用openssl/aes加密解密
- node中aes加密
- java使用AES加密
- java使用AES加密
- java使用AES加密
- JAVA AES加密使用
- 使用AES加密用户密码
- CryptoJS 使用AES加密
- C#中使用DES和AES加密解密
- C#中使用DES和AES加密解密
- C#中使用DES和AES加密解密
- TCP传输中使用AES加密和gizp压缩
- iOS中使用RNCryptor对文件进行AES加密/解密
- 关于Android中使用AES加密解密的问题
- Java中使用AES加密的简单示例
- 【学习贴】Ps终极动画练习
- 五子棋人机
- Python3-搭建Django框架
- windows 2003系统下邮件系统搭建
- Flume安装-配置-调试
- workerman中使用aes加密
- MyBatis Mapper XML 符号处理
- c#反射中GetMethods()和GetCustomAttributes()方法
- nmap核心结构概述
- 几十部以程序员为主角的影片
- leetcode24. Swap Nodes in Pairs
- Java编程思想笔记-二
- 未来五年最具前景的一门编程语言是什么?
- 开发者山行图,找到你的收入和位置