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是不同的,那么是不能解密的,请注意这一点
aes前台加密后台解密的更多相关文章
- RSA前台加密后台解密的应用
写在前面 项目安全测试需要将登录功能修改, AES加密不符合要求, 现改为RSA非对称加密.(将登录密码加密后传给后台, 后台解密后再进行一系列的校验) .期间遇到了前台js加密但是后台解密失败的问题 ...
- Vue AES+MD5加密 后台解密
前端VUE vue项目中安装crypto-js npm install crypto-js --save-dev CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加 ...
- RSA前台加密后台解密
RSA解密时BadPaddingException java rsa 解密报:javax.crypto.BadPaddingException: Decryption error Java安全架构__ ...
- asp.net MVC ajax 请求参数前台加密后台解密
最近有一个需求要求页面查询数据库,查询内容保存到excel里面作为附件加密打包下载.查询的sql作为参数传入后台,实现加密提交.这里做个记录,后面用到直接来拿. 控制器 public ActionRe ...
- AES对称加密和解密
package demo.security; import java.io.IOException; import java.io.UnsupportedEncodingException; impo ...
- JAVA实现AES的加密和解密算法
原文 JAVA实现AES的加密和解密算法 import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import ja ...
- java的AES对称加密和解密,有偏移量
import java.math.BigDecimal; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; i ...
- ORACLE 字段AES算法加密、解密
ORACLE 字段AES算法加密.解密(解决中文乱码问题)2014年02月12日 17:13:37 华智互联 阅读数:97971.加解密函数入口 CREATE OR REPLACE FUNCTION ...
- AES对称加密和解密(转)
AES对称加密和解密 package demo.security; import java.io.IOException; import java.io.UnsupportedEncodingExce ...
随机推荐
- zk 文件存储
zk 有 2 种文件,快照和事务日志,快照是某一时刻的全量数据,事务日志中记录了数据的修改事件. 快照的文件名是 snapshot.zxid,zxid 是当前最大的事务 id // org.apach ...
- Android 调用相机、相册功能
清单文件中增加对应权限,动态申请权限(此部分请参考Android 动态申请权限,在此不作为重点描述) private static final int REQUEST_CODE_ALBUM = 100 ...
- rsync启动脚本
rsync启动脚本 01 #!/bin/bash www.ahlinux.com 02 # 03 # rsyncd This shell script takes care of star ...
- java:struts框架5(Converter,Validation,Tags(Object-Graph Navigation Language))
1.Converter: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTY ...
- Centos 6.5 磁盘修复 破解删除root密码
起因:由于存储设备故障.导致虚拟机断开.恢复后虚拟机无法启动,发现报磁盘损坏,需要运行fsck运行 问题解决思路: 1.虚拟机无法启动,所以需要进入系统进行修复 2.root密码是自动修改的.由于虚拟 ...
- vtk旋转扫描实体示例:vtkQuadRotationalExtrusionFilter、vtkRotationalExtrusionFilter
一.vtkQuadRotationalExtrusionFilter Detailed Description sweep polygonal data creating "skirt&qu ...
- CTF—WEB—sql注入之无过滤有回显最简单注入
sql注入基础原理 一.Sql注入简介 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手 ...
- LeetCode.977-排序数组的平方(Squares of a Sorted Array)
这是悦乐书的第369次更新,第397篇原创 01看题和准备 今天介绍的是LeetCode算法题中Easy级别的第231题(顺位题号是977).给定一个整数数组A按有序递增顺序排序,返回每个数字的平方, ...
- tableau日常管理
各文件位置: https://help.tableau.com/current/server-linux/zh-cn/cli_default_filepaths_tsm.htm ldap配置: htt ...
- 小记---------kafka理论及命令行操作
kafka-0.10.1.X版本之前: auto.offset.reset 的值为smallest,和,largest.(offest保存在zk中) kafka-0.10.1.X版本之后: aut ...