ホームページ  >  記事  >  ウェブフロントエンド  >  Node.js非対称暗号化方式の実装

Node.js非対称暗号化方式の実装

小云云
小云云オリジナル
2018-01-31 09:40:421780ブラウズ

Node.js では、セキュリティを担当するモジュールは crypto です。この記事では主に Node.js の非対称暗号化方法とコード例を紹介します。これに興味のある友人が参考にして勉強していただければ幸いです。

暗号化と復号化メソッド

Node.js では、セキュリティを担当するモジュールは crypto です。非対称暗号化における公開鍵暗号化、秘密鍵復号化、および対応する暗号化と復号化のAPIは以下のとおりです。

暗号化関数:


crypto.publicEncrypt(key, buffer)

復号化関数:


crypto.privateDecrypt(privateKey, buffer)

入門例

次の utils.js


// utils.js
const crypto = require('crypto');
// 加密方法
exports.encrypt = (data, key) => {
 // 注意,第二个参数是Buffer类型
 return crypto.publicEncrypt(key, Buffer.from(data));
};
// 解密方法
exports.decrypt = (encrypted, key) => {
 // 注意,encrypted是Buffer类型
 return crypto.privateDecrypt(key, encrypted);
};

テスト アプリがあるとします。 .js:


const utils = require('./utils');
const keys = require('./keys');
const plainText = '你好,我是程序猿小卡';
const crypted = utils.encrypt(plainText, keys.pubKey); // 加密
const decrypted = utils.decrypt(crypted, keys.privKey); // 解密
console.log(decrypted.toString()); // 你好,我是程序猿小卡
E -attached公開鍵と秘密鍵キー。非対称暗号化アルゴリズムの例

以上がNode.js非対称暗号化方式の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。