国产探花免费观看_亚洲丰满少妇自慰呻吟_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/

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潼南县| 长武县| 太和县| 久治县| 嵩明县| 治县。| 嘉义县| 临城县| 青铜峡市| 广河县| 夏津县| 湟中县| 甘南县| 新宁县| 云南省| 商洛市| 平江县| 太谷县| 汉沽区| 萨嘎县| 和林格尔县| 潍坊市| 鞍山市| 岑巩县| 法库县| 建湖县| 平远县| 大同市| 五河县| 留坝县| 依安县| 乌鲁木齐县| 南康市| 龙游县| 苍南县| 温宿县| 吉林省| 凤凰县| 清水县| 育儿| 孙吴县|