AES加密

  前端加密:

const CryptoJS = require("crypto-js");
// // Encrypt
// var ciphertext = CryptoJS.AES.encrypt('password', '1234567890ABCDEF1234567890ABCDEf').toString();
// console.log(ciphertext);
function encrypt(content) {
    var sKey = CryptoJS.enc.Utf8.parse("bj5c8d@ey9oztj1x");
    var iv = CryptoJS.enc.Utf8.parse("5e8y6w45ju8w9jq8");
    let srcs = CryptoJS.enc.Utf8.parse(content);

    let encrypted = CryptoJS.AES.encrypt(srcs, sKey, {
        iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
}

//获取加密后的密码
var paawaord = " class520@"
var password = encrypt(paawaord);

console.log(password);

后端解密:

 

    private static String AlgorithmProvider = "AES/CBC/PKCS5Padding";
    private static String Algorithm = "AES";
    private static String decryptKey = "bj5c8d@ey9oztj1x";
    private static String IVCODE = "5e8y6w45ju8w9jq8";

    public static String decsrypt(String encryptStr)  {
        try {
            if(encryptStr==null){
                return null;
            }
            KeyGenerator kgen = KeyGenerator.getInstance(Algorithm);
            kgen.init(128);
            Cipher cipher = Cipher.getInstance(AlgorithmProvider);
            IvParameterSpec iv = new IvParameterSpec(IVCODE.getBytes());
            cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), Algorithm), iv);
            // 采用base64算法进行转码,避免出现中文乱码
            byte[] encryptBytes = new BASE64Decoder().decodeBuffer(encryptStr);
            byte[] decryptBytes = cipher.doFinal(encryptBytes);
            return new String(decryptBytes);
        }catch( Exception e){
            throw new InterfaceException(Errorcode.DECRYPT_ERROR, "decry failure");
        }

    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值