小程序:JS AES加密解密(ECB/CBC)

序言:介紹一下javascript下AES加密和解密,運(yùn)用的工作模式為ECB(電碼本模式Electronic Codebook Book),填充方式為(NoPadding),及CBC(密碼分組鏈接模式Cipher Block Chaining)。這里用到的是CryptoJS受葛。

    1. 將components下的aes.js,mode-ecb.js和pad-nopadding.js添加到項(xiàng)目中utils目錄下。

      形如:
      1.png
    1. 新建aesTool.js封裝一下加密解密的方法。
var CryptoJS = require('./aes.js');
const fillPadding = require('./pad-nopadding.js');
const workMode = require('./mode-ecb.js');
var key = CryptoJS.enc.Hex.parse("122a3b4c5d6f7g8h122a3b4c5d6f7g8h");
/**
   * AES加密(ECB,NoPadding)
   */
function Encrypt_ecb(word) {
  var srcs = CryptoJS.enc.Hex.parse(word);
  var encrypted = CryptoJS.AES.encrypt(srcs, key, {
    mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.NoPadding
  });
  return encrypted.ciphertext.toString().toUpperCase();
}
/**
   * AES加密(ECB,NoPadding)
   */
function Encrypt_cbc(word) {
  var srcs = CryptoJS.enc.Hex.parse(word);
  var encrypted = CryptoJS.AES.encrypt(srcs, key, {
    iv: CryptoJS.enc.Utf8.parse("0000000000000000"), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});
  return encrypted.ciphertext.toString().toUpperCase();
}
/**
   * AES解密(ECB,NoPadding)
   */
function Decrypt_ecb(word) {
  var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
  var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
  var decrypt = CryptoJS.AES.decrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.NoPadding });
  var decryptedStr = decrypt.toString(CryptoJS.enc.Hex);
  return decryptedStr.toString();
}

/**
   * AES解密(CBC,Pkcs7)
   */
function Decrypt_cbc(word) {
  var encryptedHexStr = CryptoJS.enc.Hex.parse(word);
  var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
  var decrypt = CryptoJS.AES.decrypt(word, key, { iv: CryptoJS.enc.Utf8.parse("0000000000000000"), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
  var decryptedStr = decrypt.toString(CryptoJS.enc.Hex);
  return decryptedStr.toString();
}

module.exports = {
  Encrypt_ecb: Encrypt_ecb,
  Decrypt_ecb: Decrypt_ecb,
  Encrypt_cbc: Encrypt_cbc,
  Decrypt_cbc: Decrypt_cbc,
}
    1. 使用方法:
///演示ECB模式
var aesTool = require('../../utils/aesTool.js')
const aesSource = "---content---"
console.log("加密前:" + aesString)
var aesBuffer = aesTool.Encrypt_ecb(aesString)
console.log("加密后:" + aesBuffer)
var decryData = aesTool.Decrypt_ecb(aesBuffer)
console.log("解密后:" + decryData)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市扑庞,隨后出現(xiàn)的幾起案子譬重,更是在濱河造成了極大的恐慌,老刑警劉巖罐氨,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臀规,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡栅隐,警方通過(guò)查閱死者的電腦和手機(jī)塔嬉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)租悄,“玉大人谨究,你說(shuō)我怎么就攤上這事∑澹” “怎么了胶哲?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)潭辈。 經(jīng)常有香客問(wèn)我鸯屿,道長(zhǎng),這世上最難降的妖魔是什么把敢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任寄摆,我火速辦了婚禮,結(jié)果婚禮上修赞,老公的妹妹穿的比我還像新娘婶恼。我一直安慰自己,他們只是感情好柏副,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布勾邦。 她就那樣靜靜地躺著,像睡著了一般割择。 火紅的嫁衣襯著肌膚如雪检痰。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天锨推,我揣著相機(jī)與錄音,去河邊找鬼公壤。 笑死换可,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的厦幅。 我是一名探鬼主播沾鳄,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼确憨!你這毒婦竟也來(lái)了译荞?” 一聲冷哼從身側(cè)響起瓤的,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吞歼,沒(méi)想到半個(gè)月后圈膏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篙骡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年稽坤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糯俗。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尿褪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出得湘,到底是詐尸還是另有隱情杖玲,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布淘正,位于F島的核電站摆马,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏跪帝。R本人自食惡果不足惜今膊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伞剑。 院中可真熱鬧斑唬,春花似錦、人聲如沸黎泣。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抒倚。三九已至褐着,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間托呕,已是汗流浹背含蓉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留项郊,地道東北人馅扣。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像着降,于是被迫代替她去往敵國(guó)和親差油。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容