javascript与php使用aes进行加密/解密
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript与php使用aes进行加密/解密相关的知识,希望对你有一定的参考价值。
- javascript:
a. 下载:npm install crypto-js
b. 代码:
var CryptoJS = require("crypto-js"); // 加密 var key = CryptoJS.MD5(‘hello‘) key = CryptoJS.enc.Utf8.parse(key) var iv = CryptoJS.enc.Utf8.parse(‘1234567812345678‘) var encode = CryptoJS.AES.encrypt( ‘hello‘, key, { iv:iv, mode:CryptoJS.mode.CBC, padding:CryptoJS.pad.ZeroPadding } ).toString() console.log(encode) // 解密 var bytes = CryptoJS.AES.decrypt( encode, key, { iv:iv, mode:CryptoJS.mode.CBC, padding:CryptoJS.pad.ZeroPadding } ) var decode = bytes.toString(CryptoJS.enc.Utf8) console.log(decode)
c. 输出:
Kfh/NXiU/7keG+t/M0j6KQ== hello [Finished in 0.5s]
- php:
a. 代码:<?php // 加密 $str = "hello"; $iv = "1234567812345678"; $key = md5($str); $encode = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_CBC,$iv); $encode = base64_encode($encode); echo $encode.PHP_EOL; // 解密 $data = base64_decode($encode); $decode = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv); echo(trim($decode)).PHP_EOL;
b. 输出:
Kfh/NXiU/7keG+t/M0j6KQ== hello [Finished in 0.2s]
以上是关于javascript与php使用aes进行加密/解密的主要内容,如果未能解决你的问题,请参考以下文章
javascript 与 PHP 通信加密,使用AES 128 CBC no padding,以及ios,java,c#文章例子
AES 的 Javascript 实现与 PHP 的 mcrypt 兼容