php的AES-128 EBC加密、解密
来源:互联网 发布:log4j linux 日志格式 编辑:程序博客网 时间:2024/06/11 10:49
<?php/* +----------------------------------------------------------------------+ | IPTV | +----------------------------------------------------------------------+ | AES-128 ECB模式加密、解密工具 +----------------------------------------------------------------------+ | Author: yzq | | Date: 2017/11/30 17:56 | +----------------------------------------------------------------------+ */namespace Home\Model\Common;class AesTool{ /** * AES-128 ECB模式加密数据 * @param $str 待加密的字符串 * @param $encryptKey 秘钥 * @return string AES加密后的字符串 */ public static function encrypt($str, $encryptKey) { $localKeyBase64 = base64_decode($encryptKey); $str = trim($str); $str = self::addPKCS7Padding($str); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB), MCRYPT_RAND); $encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $localKeyBase64, $str, MCRYPT_MODE_ECB, $iv); return base64_encode($encrypt_str); } /** * ES-128 ECB模式加密数据 * @param $str 待解密字符串 * @param $encryptKey 秘钥 * @return bool|string 返回解密后的字符串 */ public static function decrypt($str, $encryptKey) { $str = base64_decode($str); $localKeyBase64 = base64_decode($encryptKey); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB), MCRYPT_RAND); $encrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $localKeyBase64, $str, MCRYPT_MODE_ECB, $iv); $encrypt_str = trim($encrypt_str); $encrypt_str = self::stripPKSC7Padding($encrypt_str); return $encrypt_str; } private static function addPKCS7Padding($source) { $source = trim($source); $block = mcrypt_get_block_size('rijndael-128', 'ecb'); $pad = $block - (strlen($source) % $block); if ($pad <= $block) { $char = chr($pad); $source .= str_repeat($char, $pad); } return $source; } private static function stripPKSC7Padding($source) { $source = trim($source); $char = substr($source, -1); $num = ord($char); if ($num == 62) return $source; $source = substr($source, 0, -$num); return $source; }}
阅读全文
0 0
- php的AES-128 EBC加密、解密
- PHP的AES加密解密
- PHP AES的加密解密
- php AES加密解密
- php aes 加密解密
- PHP的AES/RSA加密解密算法
- PHP程序的AES加密解密算法
- php aes 128 CBC加密、解密函数
- PHP AES加密解密学习
- PHP-AES加密解密算法
- AES/CryptoJS/PHP 加密解密
- js加密的密文PHP解密(AES算法)
- PHP、Java、.Net和Javascript的AES加密解密实现
- java/php对应的AES/CBC/PKCS5Padding模式 加密解密
- php AES cbc模式 pkcs7 128位加密解密
- iOS AES的加密解密
- Java的AES加密解密
- iOS AES的加密解密
- 分析 Dropout
- Arcgis for Android加载tpk文件遇到的错误,求大神指导下。
- android读取word文档的方法:一,第三方应用打开
- fsync、synchronous_commit 的简单测试
- get请求传递中文后台乱码
- php的AES-128 EBC加密、解密
- Place the Robots ZOJ1645
- Elasticsearch demo
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
- ViewPager+RadioGroup实现仿微信主界面
- 第九周周总结
- 怎样鉴别电热管质量
- virtualenv env出错问题
- MSP430学习笔记-时钟