最近在研究登陆密码的加密,下边上具体代码,只是给出核心代码,具体的代码视业务而定吧,给位有什么问题或者意见请留言。

加密方法用的是AES-128-CBC,BASE64用的是org.apache.commons.codec.binary.Base64

JS代码:

var password = "1234567890,./";
var key = CryptoJS.enc.Utf8.parse("0102030405060708");//密钥,128位加密密钥为16位
var content= CryptoJS.enc.Utf8.parse(password);//需要加密的内容
var encrypted = CryptoJS.AES.encrypt(content, key, {iv: key,mode:CryptoJS.mode.CBC}); //加密内容

JAVA代码Action:

String content= request.getParameter("content");//前台传过来的加密之后的数据
String key = "0102030405060708";
IvParameterSpec iv = new IvParameterSpec(key.getBytes());
String a = AESUtil.Decrypt(content, key, iv);
System.out.println(a);

JAVA代码Util:

//解密
public static String Decrypt(String content, String key,IvParameterSpec iv) throws Exception{
byte[] raw = key.getBytes("ASCII");
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted1 = Base64.decodeBase64(content);//先用bAES64解密
byte[] original = cipher.doFinal(encrypted1);
String originalString = new String(original,"UTF-8");
return originalString;
}

最新文章

  1. svn客户端重新设置用户名和密码
  2. initWithCoder与initWithFrame的区别
  3. 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式
  4. Java基础语法目录
  5. <读书笔记>软件调试之道 :问题的核心-诊断
  6. 百度地图api根据定位获取附近商家(只获取屏幕内)
  7. HTML5——播放器
  8. [Mongo] How to Install Mongo on Debian(不要安装)
  9. windows中 dll 的解读
  10. 浏览器显示本地照片 image
  11. 转 C#开发微信门户及应用(1)--开始使用微信接口
  12. Delphi WEB APP DEBUGGER是如何使用的
  13. oracle表空间使用率统计查询
  14. Block 朴实理解
  15. CSS伪类整理笔记
  16. 使用SimHash进行海量文本去重[转]
  17. 20155215 2016-2017-2 《Java程序设计》第9周学习总结
  18. 洛咕3312 [SDOI2014]数表
  19. hdu 5755 Gambler Bo (高斯消元法解同余方程组)
  20. python细节问题

热门文章

  1. Extjs之combobox联动
  2. 终于通过了PMP考试,然这只是一个开始。。。
  3. 001.为什么选择用AngularJs开发?
  4. PHP进度条
  5. Primary Expression
  6. IOS--UIDatePicker 时间选择器 的使用方法详细
  7. iOS编程修改系统音量
  8. DZY Loves Colors
  9. SCALA常规练习C
  10. PYTHON--定期监测服务器端口,并将结果写入MYSQL