暗号化技術は通常、「対称」と「非対称」の2つのカテゴリに分けられます。
対称暗号化:
これは、暗号化と復号化が一般的に「セッションキー」と呼ばれる同じキーを使用することを意味します。この暗号化技術は、今日広く使用されています。たとえば、米国政府が採用した暗号化標準は、典型的な「対称」暗号化方法であり、そのセッションキーの長さは56ビットです。
非対称暗号化:
つまり、暗号化と復号化は同じキーではありません。通常、「公開キー」と「秘密鍵」と呼ばれる2つのキーがあります。それらはペアで使用する必要があります。そうしないと、暗号化されたファイルを開くことができません。
暗号化は、システムで頻繁に使用される機能です。ノードには、強力な暗号化関数暗号が付属しています。以下は、練習する簡単な例です。
1。暗号化モジュールへの参照:
var crypto = require( 'crypto'); var $ = require( 'Underscore'); var defaults = {encoding:{input: 'utf8'、output: 'hex'}、algorithms:['bf'、 'blowfish'、 'aes-128-cbc']};デフォルトの暗号化アルゴリズム構成項目:
入力データ形式はUTF8、出力形式はhexで、
アルゴリズムは、3つの暗号化アルゴリズムを使用します:BF、BlowFish、およびAES-128-ABC。
2。構成項目の初期化:
function mixcrypto(options){if(typeof options == 'string')options = {key:options}; options = $ .extend({}、defaults、options); this.key = options.key; this.inputencoding = options.encoding.input; this.outputencoding = option.encoding.output; this.algorithms = options.algorithms;}暗号化アルゴリズムを構成でき、構成オプションを使用して異なる暗号化アルゴリズムとエンコーディングを使用できます。
3.暗号化方法コードは次のとおりです。
mixcrypto.prototype.encrypt = function(plantext){return $ .reduce(this.algorithms、function(memo、a){var cipher = crypto.createcipher(a、this.key); return cipher.update(memo、this.inputencoding) Plantext、this);};暗号を使用してデータを暗号化します。
4.復号化方法コードは次のとおりです。
mixcrypto.prototype.decrypt = function(crypted){try {return $ .aLgorithms、function(memo、a){var decipher = crypto.createdecipher(a、this.key); return decipher.update(memo、this.utotencoding、thisuptencoding、thisuteNputencoding、return decipher.final(this.inputencoding); } catch(e){return; }};暗号を使用してデータを復号化します。
暗号化と復号化アルゴリズムは、アンダースコアの還元および削減方法によって実行されます。
この記事は、Min Shaoによって書かれたアルゴリズムに基づいて書かれています。欠点がある場合は、私を許してください。ルーキーは道を進んでおり、前進し続けています。
nodejs暗号化暗号の上記の例コードは、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。