此篇文章重點講述如何生成RSA256密鑰API,在開發當中,Google或者做智能化設備時,總需要一些加密措施,歸納兩個方法:
一:keypair(npm install keypair進行安裝)
1.package.json
//先要把node.js,npm安裝完成
"keypair": "^1.0.1"
2.index.js
//導入引入npm密鑰生成API包
const keypair = require('keypair');
exports.helloWorld = functions.https.onRequest((request, response) => {
let pair = keypair();
console.log("public!",pair.public);
console.log("private~",pair.private)
response.send("pair.public",pair.public,"pair.private",pair.private);
});
3.部署到Firebase雲函數,進行測試。
//在終端cd到函數目錄。
如:cd use/andmin/data/function
//此命令發佈部署到firebase雲函數
% firebase deploy
4.稍等片刻,終端會顯示如下成功:
二:quick-encrypt(npm install quick-encrypt進行安裝)
1.終端cd進入到函數的目錄下
% npm install quick-encrypt
2.package.json
"quick-encrypt": "^1.0.8"
3.index.js
const functions = require('firebase-functions');
const QuickEncrypt = require('quick-encrypt');
exports.QuickEncryptA = functions.https.onRequest((request, response) => {
let keys = QuickEncrypt.generate(2048) // Use either 2048 bits or 1024 bits.
console.log(keys.public) // Public Key that has been generated.
console.log(keys.private) // Private Key that has been generated.
response.send("keys.public",keys.public,"keys.private",keys.private);
});
4.部署到雲函數
% firebase deploy
5.RSA256公/私鑰就這樣生成了,可以用到WEB/APP等自動生成API;
三:公/私鑰類型轉換:
1.以上的RSA密鑰API調用返回,key值頭部會包含public/private符號類型。
另一種實現方式如下:導入: “node-rsa”: “^1.0.7”,
const NodeRSA = require('node-rsa');
const RSA_IamPolicy = async (db,res) => {
const key = new NodeRSA({ b: 2048 }); //生成2048位的密鑰
const publicDer = key.exportKey("pkcs8-public-pem"); //公鑰
const privateDer = key.exportKey("pkcs8-private-pem");//私鑰
res.send({message: "私鑰:"+privateDer+"公鑰:"+publicDer});
}
實際公/私鑰結果如上所示,當我們創建的密鑰到期或者身份驗證不符合時,可用此方法調用API自動生成新密鑰。讓設備與服務器之間不產生斷開。
到此講述完畢!希望更幫助到更多的學習之人,若覺得很好,請不忘關注並且支持,NICE!