国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解nodejs與javascript中的aes加密

2019-11-20 09:58:03
字體:
來源:轉載
供稿:網友

一、簡介

1.aes加密簡單來說,在密碼學中又稱Rijndael加密法,是美國聯邦政府采用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。高級加密標準已然成為對稱密鑰加密中最流行的算法之一。

2.AES的區塊長度固定為128 比特,密鑰長度則可以是128,192或256比特;而Rijndael使用的密鑰和區塊長度可以是32位的整數倍,以128位為下限,256比特為上限。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB。

3.在這里我們只接受常用的ECB方式 + pkcs7padding(與pkcs5padding值相同)填充加密。 

二、應用

1.nodejs中aes的使用

var crypto = require('crypto');var aesutil = module.exports = {};/** * aes加密 * @param data 待加密內容 * @param key 必須為32位私鑰 * @returns {string} */aesutil.encryption = function (data, key, iv) { iv = iv || ""; var clearEncoding = 'utf8'; var cipherEncoding = 'base64'; var cipherChunks = []; var cipher = crypto.createCipheriv('aes-256-ecb', key, iv); cipher.setAutoPadding(true); cipherChunks.push(cipher.update(data, clearEncoding, cipherEncoding)); cipherChunks.push(cipher.final(cipherEncoding)); return cipherChunks.join('');}/** * aes解密 * @param data 待解密內容 * @param key 必須為32位私鑰 * @returns {string} */aesutil.decryption = function (data, key, iv) { if (!data) {  return ""; } iv = iv || ""; var clearEncoding = 'utf8'; var cipherEncoding = 'base64'; var cipherChunks = []; var decipher = crypto.createDecipheriv('aes-256-ecb', key, iv); decipher.setAutoPadding(true); cipherChunks.push(decipher.update(data, cipherEncoding, clearEncoding)); cipherChunks.push(decipher.final(clearEncoding)); return cipherChunks.join('');} 

2.javascript中aes的使用

下載第三方庫Crypto-js.js git地址:https://github.com/brix/crypto-js

引入src下的crypto-js.js,加密代碼如下:

var key = "12345678"  //秘鑰必須為:8/16/32位var message = "123456";//加密var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(key), { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});console.log("value: "+encrypt);//解密var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(key), { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});console.log("value: "+decrypt.toString(CryptoJS.enc.Utf8));

原文作者:西安.王磊
原文出處:http://vipstone.cnblogs.com/

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普陀区| 新昌县| 黔东| 梅河口市| 乌拉特后旗| 衡阳县| 基隆市| 伊春市| 荥阳市| 安仁县| 莒南县| 襄樊市| 涟源市| 都兰县| 南通市| 长兴县| 明光市| 伊吾县| 琼海市| 虹口区| 九龙县| 莱西市| 长白| 开封县| 福贡县| 安化县| 江油市| 三都| 天气| 青田县| 博爱县| 龙川县| 名山县| 留坝县| 静宁县| 本溪市| 星座| 大理市| 江北区| 香港| 武安市|