加密技術通常分為兩大類:「對稱式」和「非對稱式」。
對稱式加密:
就是加密和解密使用同乙個金鑰,通常稱之為「session key 」這種加密技術在當今被廣泛採用,如美國**所採用的des加密標準就是一種典型的「對稱式」加密法,它的session key長度為56bits。
非對稱式加密:
就是加密和解密所使用的不是同乙個金鑰,通常有兩個金鑰,稱為「公鑰」和「私鑰」,它們兩個必需配對使用,否則不能開啟加密檔案。
加密為系統中經常使用的功能,node自帶強大的加密功能crypto,下面通過簡單的例子進行練習。
1、加密模組的引用:
var crypto=require('crypto');var $=require('underscore');
var defaults =,algorithms: ['bf', 'blowfish', 'aes-128-cbc']
};
預設加密演算法配置項:
輸入資料格式為utf8,輸出格式為hex,
演算法使用bf,blowfish,aes-128-abc三種加密演算法;
2、配置項初始化:
functionmixcrypto(options) ;
options =$.extend({}, defaults, options);
this.key =options.key;
this.inputencoding =options.encoding.input;
this.outputencoding =options.encoding.output;
this.algorithms =options.algorithms;
}
加密演算法可以進行配置,通過配置option進行不同加密演算法及編碼的使用。
3、加密方法**如下:
mixcrypto.prototype.encrypt = function(plaintext) , plaintext,
this
);};
使用crypto進行資料的加密處理。
4、解密方法**如下:
mixcrypto.prototype.decrypt = function(crypted) , crypted,
this
); }
catch
(e)
};
使用crypto進行資料的解密處理。
通過underscore中的reduce、reduceright方法,進行加密和解密的演算法執行。
本文根據民少編寫的演算法進行編寫,如有不足之處,敬請原諒。菜鳥在路上,繼續前進。
NodeJS之crypto模組公鑰加密及解密
nodejs有以下4個與公鑰加密相關的類。cipher 用於加密資料 decipher 用於解密資料 sign 用於生成簽名 verify 用於驗證簽名 在使用公鑰加密技術時,需要使用公鑰及私鑰 公鑰是用於建立只有私鑰的擁有者能夠讀出的加密資料,以及對私鑰的擁有者的簽名進行驗證 私鑰是用於解密資料以...
Crypto 應用 非對稱加密RSA
1,非對稱加密rsa 1 乙方生成兩把金鑰 公鑰和私鑰 公鑰是公開的,任何人都可以獲得,私鑰則是保密的。2 甲方獲取乙方的公鑰,然後用它對資訊加密。3 乙方得到加密後的資訊,用私鑰解密。2,使用cryptopp實現rsa cryptopp是一套非常完整的加密解密開源解決方案,如何使用這裡就不多說了,...
攻防世界crypto練習 冪數加密
題目描述 你和小魚終於走到了最後的乙個謎題所在的地方,上面寫著一段話 親愛的朋友,很開心你對網路安全有這麼大的興趣,希望你一直堅持下去,不要放棄 學到一些知識,走進廣闊的安全大世界 你和小魚接過謎題,開始了耐心細緻的解答。flag為cyberpeace 解析 原以為是二進位制冪數加密法,但是比照之後...