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

首頁 > 學院 > 開發設計 > 正文

node中aes加密

2019-11-08 18:47:12
字體:
來源:轉載
供稿:網友

高級加密標準AES

      aes是一種分組加密標準,每個加密塊大小為128位,允許的密鑰長度為128、192和256位。AES作為一種分組加密算法為了適應不同的安全性要求和傳輸需求允許在多種不同的加密模式下工作,包括ECB、CBC、CFB和OFB加密模式。

       

ECB模式(電子密碼本模式:Electronic codebook)

ECB是最簡單的塊密碼加密模式,加密前根據加密塊大小(如AES為128位)分成若干塊,之后將每塊使用相同的密鑰單獨加密,解密同理。

CBC模式(密碼分組鏈接:Cipher-block chaining)

CBC模式對于每個待加密的密碼塊在加密前會先與前一個密碼塊的密文異或然后再用加密器加密。第一個明文塊與一個叫初始化向量的數據塊異或。

CFB模式(密文反饋:Cipher feedback)

與ECB和CBC模式只能夠加密塊數據不同,CFB能夠將塊密文(Block Cipher)轉換為流密文(Stream Cipher)。

OFB模式(輸出反饋:Output feedback)

OFB是先用塊加密器生成密鑰流(Keystream),然后再將密鑰流與明文流異或得到密文流,解密是先用塊加密器生成密鑰流,再將密鑰流與密文流異或得到明文,由于異或操作的對稱性所以加密和解密的流程是完全一樣的。

用node實現aes-128-ecb加解密例子

var crypto = require('crypto');

/*加密*/

const cipher = crypto.createCipher('aes-128-ecb', "passWord");var cipherResult = cipher.update("yuanwen", 'utf8', 'hex');cipherResult += cipher.final('hex');//返回hex編碼的字符串

/*解密*/

var decipher = crypto.createDecipher('aes-128-ecb',"password");var decrypted = decipher.update(cipherResult, 'hex', 'utf8');decrypted += decipher.final('utf8');console.log(decrypted); 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中方县| 修文县| 柳州市| 彭泽县| 新安县| 临桂县| 朝阳区| 平潭县| 新丰县| 呼玛县| 池州市| 盐津县| 固安县| 丰原市| 合肥市| 安吉县| 交城县| 稷山县| 会泽县| 望城县| 上杭县| 西乌珠穆沁旗| 内乡县| 铁岭市| 堆龙德庆县| 芦溪县| 南川市| 任丘市| 淮滨县| 琼海市| 虞城县| 宜丰县| 兰西县| 溧阳市| 务川| 岑溪市| 库尔勒市| 花垣县| 班玛县| 辽中县| 开鲁县|