node 加密解密模組 Node(十二)加密解密

2021-10-13 11:15:57 字數 1507 閱讀 1031

token:(引入jsonwebtoken模組)

對稱加密,乙個秘鑰進行加密解密

const crypto = require('crypto');

// 產生token

let obj = );//傳入加密的物件,秘鑰,加密方式

console.log(res);

//解析token

let sec2 = jwt.verify('eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9.eyjhijoxlcjiijoylcjpyxqioje1ndm5oda0ntf9.ormqa_lbbdcd7xeeh**gn2enccl2ktoydide-b4anmy', sec);

console.log(sec2);

非對稱加密,通過私鑰進行加密,公鑰解密

產生私鑰 openssl genrsa -out private_key.pem 1024

由私鑰產生公鑰 openssl rsa -in private_key.pem -pubout -out public_key.pem

var selfkey = fs.readfilesync(path.join(__dirname, 'key.pem'));//讀取私鑰路徑

var jwtset = jwt.sign(, selfkey, {

algorithm: 'rs256'

console.log(jwtset);

var otherkey = fs.readfilesync(path.join(__dirname, 'public_key.pem'));//讀取公鑰路徑

var jwtget = jwt.verify(jwtset, otherkey, {

algorithm: 'rs256'

console.log(jwtget);

crypto和bcrypt

// 資料庫密碼加密

// 內建crypto

// md5

const hash = crypto.createhash('md5');

hash.update('helloworld');

console.log(hash.digest('hex'));

// hmac

const hmac = crypto.createhmac('sha256', '12345');

hmac.update('helloworld');

console.log(hmac.digest('hex'));

// 第三方bcrypt

const pass = 'qazwsx123';

const saltrounds = 10;

bcrypt.gensalt(saltrounds, (err, salt) => {

bcrypt.hash(pass, salt, (err, hash) => {

let result= bcrypt.comparesync('qazwsx123', hash);

console.log(result);

node之加密與解密

token 引入jsonwebtoken模組 對稱加密,乙個秘鑰進行加密解密 const crypto require crypto 產生token let obj let sec helloworld let res jwt.sign obj,sec,傳入加密的物件,秘鑰,加密方式 console...

Node加密模組bcrypt nodejs

node版加密模組,原生js實現。同步 var hash bcrypt.hashsync bacon bcrypt.comparesync bacon hash true bcrypt.comparesync veggies hash false 複製 非同步 bcrypt.hash bacon n...

Node模組型別

在node應用中,並不是所有的模組都是同一類,通常會有核心模組 第三方模組 檔案模組 資料夾模組幾種。核心模組指的是那些被編譯進node的二進位制模組,它們被預置在node中,提供node的基本功能,如fs http https等。核心模組使用c c 實現,外部使用js封裝。要載入核心模組,直接在 ...