加密传输 (HTML加密 ,java后台解密)

js插件: https://pan.baidu.com/s/16MwvWMizBcq8D1JKSmkM4A 

提前码:hr2y

1.页面对账号和密码进行加密 传输 

var username = encrypt(username);
var password = encrypt(password);
 //str为需要加密的String字符
      function encrypt(str) {
	      //密钥--应和后台java解密或是前台js解密的密钥保持一致(16进制)
	      var key = CryptoJS.enc.Utf8.parse("wWKK335SKLDFJ146");
	      //偏移量
	      var srcs = CryptoJS.enc.Utf8.parse(str);
	      //算法
	      var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode : CryptoJS.mode.ECB ,
	         padding : CryptoJS.pad.Pkcs7
	      });
	      //替换--防止值为“1”的情况
	      var reg = new RegExp('/', "g");
	      return encrypted.toString().replace(reg, "#");
      } 

2.JAVA 解密

private static final String KEY = "wWKK335SKLDFJ146";

//对页面传过来的账号和密码进行解密
pid = AesLoUtil.decrypt(pid, KEY);
password = AesLoUtil.decrypt(password, KEY);

3.工具类

/** 
	 * 解密 (用于解密传输数据)
	 * @param encryptStr
	 * @param decryptKey
	 * @return
	 */
	public static String decrypt(String encryptStr, String decryptKey) {
        try {
            byte[] raw = decryptKey.getBytes();  //获得密码的字节数组
            SecretKeySpec skey = new SecretKeySpec(raw, "AES"); //根据密码生成AES密钥
            Cipher cipher = Cipher.getInstance(ALGORITHMSTR);  //根据指定算法ALGORITHM自成密码器
            cipher.init(Cipher.DECRYPT_MODE, skey); //初始化密码器,第一个参数为加密(ENCRYPT_MODE)或者解密(DECRYPT_MODE)操作,第二个参数为生成的AES密钥
            byte [] encode_content = Base64.getDecoder().decode(encryptStr); //把密文字符串转回密文字节数组
            byte [] byte_content = cipher.doFinal(encode_content); //密码器解密数据
            return new String(byte_content,"utf-8"); //将解密后的数据转换为字符串返回
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值