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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柞水县| 阿拉善盟| 汪清县| 北宁市| 印江| 北票市| 大名县| 阳新县| 高雄市| 岢岚县| 交城县| 安顺市| 江口县| 太湖县| 墨竹工卡县| 宁德市| 宽甸| 仙游县| 托里县| 芦山县| 尼勒克县| 蓝山县| 沙湾县| 察隅县| 鄂托克旗| 涡阳县| 仁怀市| 温泉县| 临沧市| 石狮市| 万年县| 海阳市| 武川县| 云浮市| 阿拉善右旗| 工布江达县| 砀山县| 平和县| 新巴尔虎右旗| 武汉市| 磴口县|