[加解密]js/python/golang 兼容AES(CBC/ECB)加解密(2)--CBC模式

CBC模式用起来差别不大,就是多了一个iv

还是先来js的

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Title</title>  
  
</head>  
<script src="rollups/aes.js"></script>  
<script src="components/pad-zeropadding.js"></script>  
<body>  
<script>  
  
     
  
    var key = CryptoJS.enc.Utf8.parse("beijingtiananmen");  
    var plaintText = 'www.baidu.com'; // 明文  
    //var plaintText = 'www.baidu.com'; // 明文  
    var iv=key;  //16位字符串
    var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {  
        iv:  CryptoJS.enc.Utf8.parse(iv),
        mode: CryptoJS.mode.CBC,  
        padding: CryptoJS.pad.Pkcs7  
        //padding: CryptoJS.pad.ZeroPadding
    });  
  
    console.log("加密前:"+plaintText);  
    console.log("加密后:"+encryptedData);    //Pkcs7:   WoCzvm6eZiM4/bx5o/CzGw==
                                              //ZeroPadding :   cUYmaJktt7P+dqv+Ijds9g==
  
    encryptedData = encryptedData.ciphertext.toString();  
  
    var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData);  
    console.log("解密前hex:"+encryptedHexStr); 
    var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);  
    console.log("解密前:"+encryptedBase64Str);  
    var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, {  
        iv
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值