首页 > 其他分享 >AES加密的两种方式ECB与CBC

AES加密的两种方式ECB与CBC

时间:2022-09-24 18:33:18浏览次数:46  
标签:CBC AES ECB encrypted iv key Utf8 var CryptoJS

AES为对称加密

ECB只需要秘钥key、而CBC需要秘钥key和iv,相当于需要两把钥匙。

本文使用的是JavaScript代码实现

CBC实现代码如下

function getAesString(data,key,iv){//加密
    var key  = CryptoJS.enc.Utf8.parse(key);
    var iv   = CryptoJS.enc.Utf8.parse(iv);
    var encrypted =CryptoJS.AES.encrypt(data,key,
        {
            iv:iv,
            mode:CryptoJS.mode.CBC,
            padding:CryptoJS.pad.Pkcs7
        });
    return encrypted.toString();    //返回的是base64格式的密文
}
function getDAesString(encrypted,key,iv){//解密
    var key  = CryptoJS.enc.Utf8.parse(key);
    var iv   = CryptoJS.enc.Utf8.parse(iv);
    var decrypted =CryptoJS.AES.decrypt(encrypted,key,
        {
            iv:iv,
            mode:CryptoJS.mode.CBC,
            padding:CryptoJS.pad.Pkcs7
        });
    return decrypted.toString(CryptoJS.enc.Utf8);     
}

function getAES(data){ //加密
    var key  = '8765432187654321';  //密钥
    var iv   = '1234567812345678';
    var encrypted =getAesString(data,key,iv); //密文
    var encrypted1 =CryptoJS.enc.Utf8.parse(encrypted);
    return encrypted;
}

function getDAes(data){//解密
    var key  = '8765432187654321';  //密钥
    var iv   = '1234567812345678';
    var decryptedStr =getDAesString(data,key,iv);
    return decryptedStr;
}
var aa = getAES("github.com");
var bb = getDAes(aa);
console.log(aa,bb);

标签:CBC,AES,ECB,encrypted,iv,key,Utf8,var,CryptoJS
From: https://www.cnblogs.com/comeround/p/16726215.html

相关文章

  • Java中AES加密和解密的方法分享
    转自:http://www.java265.com/JavaJingYan/202206/16559759223818.html下文笔者讲述java代码实现的AES加密和解密的示例分享,如下所示AES加密简介AES简介:Advanced......
  • 对称加密-aes/des-美国
    DES和AES密码之间的区别众所周知,DES和AES都是对称键块密码的类型,在这种加密方法中,只有一个键(秘钥)用于加密和解密电子信息。通过对称加密进行通信的实体必须交换键,以便可以......
  • JS逆向实战3——AESCBC 模式解密
    爬取某省公共资源交易中心通过抓包数据可知这个data是我们所需要的数据,但是已经通过加密隐藏起来了分析首先这是个json文件,我们可以用请求参数一个一个搜但是由于我......
  • DES|3DES|AES|RSA|DH | CA | SSL(HTTPS)
    1、对称密钥算法:加解密速度块,算法使安全的,已知算法无法推出密钥。但是密钥的分发困难。DES:对称密钥算法,是一种块加密算法,只有一个密钥。加解密都是用一个密钥。3DES:与DES......
  • 2022/8/18 动态规划复习(内含Caesar's Legions,数字游戏,合唱队形,The Battle of Chibi,Que
    QueriesforNumberofPalindromes标签:回文类区间dp 一道典型的区间dp。注意求的是个数而不是长度。初始化的时候注意一下,len=2时分两种情况。ch[i]=ch[i-1]时,dp[i-......