PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-25 14:40:06 浏览: 评论:0
这篇文章主要介绍了PHP7实现和CryptoJS的AES加密方式互通操作,结合实例形式分析了PHP AES-128-ECB加密算法相关使用技巧,需要的朋友可以参考下。
本文实例讲述了PHP7实现和CryptoJS的AES加密方式互通,分享给大家供大家参考,具体如下:
PHP类:
- class AES
- {
- /**
- *
- * @param string $string 需要加密的字符串
- * @param string $key 密钥
- * @return string
- */
- public static function encrypt($string, $key)
- {
- // openssl_encrypt 加密不同Mcrypt,对秘钥长度要求,超出16加密结果不变
- $data = openssl_encrypt($string, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
- return base64_encode($data);
- }
- /**
- * @param string $string 需要解密的字符串
- * @param string $key 密钥
- * @return string
- */
- public static function decrypt($string, $key)
- {
- return openssl_decrypt(base64_decode($string), 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
- }
- /**
- * 获取秘钥
- * @return string
- */
- public static function getSecretKey()
- {
- $str='xxx';//生成16位的字符窜
- return $str;
- }
- }
JS的写法:
- <script type="text/javascript" src="./bower_components/crypto-js/crypto-js.js"></script>
- <script type="text/javascript">
- AesKey = 'xxxxx';//加密时用的key,跟php一样
- message='xxxxxxx';//加密后的字符窜
- var ECBOptions = {
- mode: CryptoJS.mode.ECB,
- padding: CryptoJS.pad.Pkcs7
- };
- var key = CryptoJS.enc.Utf8.parse(AesKey);
- var bytes = CryptoJS.AES.decrypt(message, key,ECBOptions);
- var originalText = bytes.toString(CryptoJS.enc.Utf8);
- console.log(originalText)
- </script>
Tags: CryptoJS AES AES-128-ECB
相关文章
- ·PHP中使用AES加密算法加密数据的例子(2015-04-13)
- ·php写的AES加密解密类分享(2021-02-28)
- ·PHP aes (ecb)解密后乱码问题(2021-06-02)
- ·PHP对称加密算法(DES/AES)类的实现代码(2021-08-19)
- ·php实现的AES加密类定义与用法示例(2021-09-01)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)