首页| 新闻| 娱乐| 游戏| 科普| 文学| 编程| 系统| 数据库| 建站| 学院| 产品| 网管| 维修| 办公| 热点
本文实例讲述了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>
希望本文所述对大家PHP程序设计有所帮助。
Intel工程样品CPU的识别方法
图解CMOS路线和硬盘光驱跳线的
硬盘分区如何设置准确的分区空间
回眸一笑百魅生,六宫粉黛无颜色
岁月静美,剪一影烟雨江南
芜湖有个“松鼠小镇”
小满:小得盈满,一切刚刚好!
一串串晶莹剔透的葡萄,像一颗颗宝石挂在藤
正宗老北京脆皮烤鸭
人逢知己千杯少,喝酒搞笑图集
搞笑试卷,学生恶搞答题
新闻热点
疑难解答
图片精选
网友关注