aes前台加密后台解密
aes加密npm地址:https://www.npmjs.com/package/crypto-js
aes加密git地址/下载: https://github.com/brix/crypto-js
直接上代码:
前台代码:
/* * 加密*/function encrypt(str, key) {key = CryptoJS.enc.Utf8.parse(key ? key : "1111111111111111");// 秘钥var iv = CryptoJS.enc.Utf8.parse('1234567890123412');//向量iv var encrypted = CryptoJS.AES.encrypt(str, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); return encrypted.toString(); } /** * 解密 * @param str */ function decrypt(str) { var key = CryptoJS.enc.Utf8.parse("1111111111111111");// 秘钥 var iv = CryptoJS.enc.Utf8.parse('1234567890123412');//向量iv var decrypted = CryptoJS.AES.decrypt(str, key, {iv: iv, padding: CryptoJS.pad.ZeroPadding}); return decrypted.toString(); } //调用 //加密 console.log(CryptoJS.pad.ZeroPadding); console.log(encrypt("123456")); //解密 console.log(decrypt("123456"));
后台php代码:
<?php $privateKey = "1111111111111111"; //秘钥$iv = "1234567890123412"; //向量$data = "******";//前台加密的数据//解密$encryptedData = base64_decode($data);$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $privateKey, $encryptedData, MCRYPT_MODE_CBC, $iv);$decrypted = rtrim($decrypted, "\0"); //注意!解密出来的数据后面会出现六个红点;这句代码可以处理掉,从而不影响进一步的数据操作echo($decrypted);//解密数据echo "<hr>";
//加密测试与$data比对。 $data1 = "123456";//前台需要加密的数据 echo base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $privateKey, $data1, MCRYPT_MODE_CBC,$iv)); //加密的数据可以与前台对比是一致的
注意:php后台有很多框架,如果使用phalcon框架自已的aes加密时,前台与后台的iv是不同的,那么是不能解密的,请注意这一点
转载于:https://www.cnblogs.com/xiaocaoer/p/8257780.html
aes前台加密后台解密相关推荐
- RSA前台加密后台解密
前台代码 这里注意引入的js为jsencrypt.min.js <!DOCTYPE html> <html><head><script>if (wind ...
- rsa php前台加密后台解密源码,使用RSA实现前端公钥加密后端私钥解密
项目中在用户登录时需要进行用户名和密码加密,这里选用了RSA非对称加密的方式. 公钥私钥:OpenSSL的公钥私钥(Node crypto模块限制) 前端: jsencrypt库加密 后端: Node ...
- JavaScript实现AES算法加密和解密
JavaScript的加密和解密用的是google的CryptoJS库.本文以AES/ECB/NoPadding为例展示AES加密和解密的方法. 需要下载CryptoJS库,下载地址如下: https ...
- 国密sm2 js加密后台解密,sm3 js、后台加密,sm4 后台加密
公司最近进行安全问题修改,所以要用国密系列的sm2,sm3,sm4,这些加密都用在登录模块,因此作为菜鸟的我,从网上找了一堆资料,整理修改后形成符合项目的加密,需要的可以自己去查看相关代码和jar包: ...
- 编写ATL工程实现ActiveX控件调用cryptoAPI接口(三)------------AES对称加密与解密
注:下面的代码中用了Map,Base64,log,Result等都为自定义类型,太长就不一一贴出. [cpp] view plain copy print ? /* * * * 文件名称:Enc ...
- linux下面C 利用openssl的AES库加密,解密
OpenSSL提供了AES加解密算法的API const char *AES_options(void); AES算法状态,是全部支持或者是部分支持. 返回值:"aes(full)" ...
- java gcm_JAVA中的AES GCM加密和解密
我正在尝试在JAVA中实现AES / GCM / NoPadding加密和解密.使用的密钥是来自接收方的公钥和发送方的私钥(ECDH)的共享密钥.加密效果很好(有无iv).但是,我无法解密...... ...
- AES对称加密和解密算法以及Java的AES工具类
参考资料:百度百科[高级加密标准] AES简介 1.密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块 ...
- aes js加密php解密实例,基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码...
[实例简介] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_PHP_JS_AES源码 [实例截图] [核心代码] 基于PHP和JS的AES相互加密解密方法详解(CryptoJS)_ ...
最新文章
- 谋定重整衍生新360行-李玉庭:协同电商经信研究生态系统
- django2.2连接mysql遇到的坑(亲测)
- 【sprinb-boot】改造成 spring-cloud 项目
- Codeforces Round #321 (Div. 2) B. Kefa and Company (尺取)
- MOS2010的界面介绍和定制方法简介【资料汇集】
- vue2中的过滤器filter怎样实现首字母大写
- 可以编写html的文件吗,我可以使用HTML5/JS编写文件吗?
- POJ 2387 Til the Cows Come Home BFS最短路求解
- 2019论文选题热点计算机,关于进行2019届毕业论文选题工作的通知
- php error unexpected,PHP错误syntax error unexpected T-FUNCTION的解决方案-深圳做网站-创络...
- 计算机技术与软件专业技术资格 (水平) 考试 - 报考指南
- 人生的DoR和DoD:志向、遗产
- SeaweedFS 分布式 上传、下载、删除附件公共接口
- python绘制各种摆线(包括心形线星形线等,超炫酷)
- 10分钟学会go module
- ac9260网卡linux,160Mhz频宽的怒吼,Intel Wireless-AC 9260 无线网卡评测
- 【日常】利用代理IP伪装进行多进程爬虫
- C# 实现 简体<--->繁体 的互相转换
- 九:以理论结合实践方式梳理前端 React 框架 ——— 简述中间件
- 大数据——Java中异常的捕获和处理