PHP实现API接口加密解密

1,059 阅读1分钟

一、后端采用PHP开发语言

/**
* @param string 参数
* @param string $method 解密的方法
* @param string $key 解密密钥 16位
* @param int $options 解密的数据格式
* @param string $iv 解密的偏移量 16位
*/
openssl_decrypt($str,$method,$key,$options,$iv);

加密:openssl_encrypt('加密数据','aes-128-ecb','ljda_dj@.dv?sjdf',0,'');
解密:openssl_decrypt('X9wUwk1lNpSMYBT5o1+H6Q==','aes-128-ecb','ljda_dj@.dv?sjdf',0,'');

二、前端

1.引入插件 <script src="/crypto-js.js"></script>
2.加密:
/**
* @param  data {加密的数据}
* @param  key {加密的key 16位}
*/
function encrypt(data) {
return CryptoJS.AES.encrypt(
    data, 
    CryptoJS.enc.Utf8.parse('ljda_dj@.dv?sjdf'), 
    { 
        mode: CryptoJS.mode.ECB, 
        padding: CryptoJS.pad.Pkcs7
    }).toString();
}

2.解密:
/**
* @param  data {解密的数据}
* @param  key {解密的key 16位}
*/
function decrypt(data) {
		return CryptoJS.AES.decrypt(
		    data, 
		    CryptoJS.enc.Utf8.parse('ljda_dj@.dv?sjdf'), 
		    { 
		        mode: CryptoJS.mode.ECB, 
		        padding: CryptoJS.pad.Pkcs7
		        }).toString(CryptoJS.enc.Utf8);
	}
	
3.调用函数
document.write(encrypt('这是后端'));
document.write(decrypt('6hLwPsW8GQgRTuglRRXkFQ=='));