記事ディレクトリ
序文
インターフェイス テストやパフォーマンス テストでは、データを暗号化する必要がある状況によく遭遇します。この記事では主に RSA 暗号化の使用方法を紹介します。引用された暗号化コードはインターネットから取得したものですが、どの専門家が共有したのかはわかりません。感謝の意を表します。
1. 利用手順
この記事で採用されている解決策は、サードパーティ モジュール forge.js を使用して暗号化を実装することです。
1. git とノードをインストールする
git 関数: forge.js のソース コードをダウンロードする
ノード関数: forge.js をパッケージ化してインストールする
PS: 環境変数にノードを追加してください
2. ソースコードをダウンロードしてインストールします
git clone https://github.com/digitalbazaar/forge.git
cd E:\forge
npm install
上記のコマンドにより、E:\forge をダウンロードしてインストールするなど、ソース コードをローカルにダウンロードできます。
3. グローバル変数を作成する
4.スクリプトを書く
暗号化する必要があるログイン インターフェイスの [Pre-request-Script] タブに、次のコードを記述します。
if (!pm.globals.has("forgeJS")) {
pm.sendRequest("https://raw.githubusercontent.com/loveiset/RSAForPostman/master/forge.js", function (err, res) {
if (err) {
console.log(err);
} else {
pm.globals.set("forgeJS", res.text());
}
})
} else {
eval(postman.getGlobalVariable("forgeJS"));
// 公钥
var rsa_public_key = pm.globals.get("RSA");
var publicKey = forge.pki.publicKeyFromPem(rsa_public_key);
//rsa加密得到签名
var encryptedText = forge.util.encode64(publicKey.encrypt(pm.environment.get("raw_sword"), 'RSAES-PKCS1-V1_5', {
md: forge.md.sha1.create(),
mgf1: {
md: forge.md.sha1.create()
}
}));
//将加密得到的签名放到环境变量中
pm.environment.set("sword",encryptedText);
}
コード分析:
1. 12 行目の公開鍵はグローバル変数から取得されており、簡単に参照できるように値を入力する必要があります。コードに直接記述することもできますが、長すぎるため、ここではグローバル変数に直接設定します。
2. 16 行目の元のパスワードは環境変数から取得されますので、必要に応じて暗号化するパスワード文字列を入力します。
要約する
以上が今日の内容ですが、この記事では postman の暗号化に RSA を使用する方法を簡単に紹介するだけです。