2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

前端使用jsencrypt.js進(jìn)行RSA加密,主要用于登錄界面

 牛人的尾巴 2022-05-21 發(fā)布于安徽

一、 什么是RSA加密?

RSA算法

  1. RSA是一種使用不同的加密密鑰與解密密鑰的體制,不對稱加密算法。公鑰加密,私鑰解密。
  2. RSA算法是先生成一對RSA密鑰,其中之一是保密密鑰,由用戶保存;另一個(gè)為公開密鑰,可對外公開,甚至可在網(wǎng)絡(luò)服務(wù)器中注冊。為提高保密強(qiáng)度,一般推薦使用1024位。

二、RSA秘鑰生成方式

  1. 網(wǎng)站生成公鑰和私鑰
    在這里插入圖片描述
  2. Windows系統(tǒng)可以使用git命令行工具
  • 單擊鼠標(biāo)右鍵——git bash here 調(diào)出git bash
  • 生成私鑰,密鑰長度為1024bit
$ openssl genrsa -out private.pem 1024
Generating RSA private key, 1024 bit long modulus
........++++++
.................++++++
e is 65537 (0x10001)
  • 從私鑰中提取公鑰
$ openssl rsa -in private.pem -pubout -out public.pem
writing RSA key
  • 生成了private.pem 和 public.pem兩個(gè)文件,可以利用終端進(jìn)行查看
$ cat private.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCb60UwTR+o+Cw91/rWFUlGkwdjr933uGus+7N5XkVTR03eikN0
fmISPZMjHBfORgfXKzm/e503npMNdzUGYpOcwbxcVmRK6kmL+T3++t0NSBiI0mFZ
cmdGph1oNDrNW+xU/ZytogiNW2c5z1o/MJxJvG/Wlvb0Vj3kM2Zywsc1OwIDAQAB
AoGAGwYxLMkBRskU6fcoS7jOxYOwUS/nOgtl5kqN9ehH/cIrFfpC7MsG9oBjoz84
RRFQRJQCY1Tqj/xVIo1ZzGyDhu+vo07RXBeOEv9QCOq/PqTca0q9u6hq9wAsTdUT
jBepfttgrDGICRFeVts3Vf4lDbXiQS6QZTQa9/9GRU16udECQQDIVA8hU0W+sBq8
PftMvWYFMWPG1TazCDHJ+r5GutO3bAPC74rstuoNQOq5kDzmvbkFHUUQPeUEFc+S
zI9oG7kzAkEAxz/NaT9hmOaqNB6jIr//J227v2qL240pHiPV6WmAdJLr3BkqgGV6
y/z4fBTClm1dPhiC289xzBQzUUllD7Xj2QJAVhFvcrTxSS0mP2wt1NmmxGJk6N9g
IelKYun86CyKm8qnjxAV0v//bPRQJKuozsYCgQUDUCgXhfrM9Ng4YNVQawJAFscQ
cGuyeIxGANdPxvUz8gn1YJiJjHvCq5NlLN3GtYzmMa8e0LbJJvCwZ17oL9IoyqR6
sS4x0CavByfgyb79YQJBAIRbZ/touiyyKOUVi1sVQ3reIFKQ7BnezluNxalmmceC
UfxbMitxGdeLsL8uz/OVneodYguZOVumdVVVW3cBSxk=
-----END RSA PRIVATE KEY-----

$ cat public.pem
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCb60UwTR+o+Cw91/rWFUlGkwdj
r933uGus+7N5XkVTR03eikN0fmISPZMjHBfORgfXKzm/e503npMNdzUGYpOcwbxc
VmRK6kmL+T3++t0NSBiI0mFZcmdGph1oNDrNW+xU/ZytogiNW2c5z1o/MJxJvG/W
lvb0Vj3kM2Zywsc1OwIDAQAB
-----END PUBLIC KEY-----

使用jsencrypt的步驟

1、下載jsencrypt

npm install jsencrypt

下載后查看package-lock.json文件查看jsencrypt是否下載成功及其版本
在這里插入圖片描述

2、引入jsencrypt并且創(chuàng)建加密解密的方法rsaEncrypt.js

rsaEncrypt.js

import JSEncrypt from 'jsencrypt/bin/jsencrypt'

//公鑰
const publicKey=''
//私鑰
const privateKey=''

//公鑰加密
export function encrypt(passwd){
  const encryptor=new JSEncrypt()
  encryptor.setPublicKey(publicKey)
  return encryptor.encrypt(passwd)
}

//私鑰解密
export function decrypt(passwd){
  const encryptor=new JSEncrypt()
  encryptor.setPrivateKey(privateKey)
  return encryptor.decrypt(passwd)
}

3、應(yīng)用rsaEncrypt.js方法

import { encrypt } from '@/utils/rsaEncrypt'
password=encrypt(password);//對密碼進(jìn)行加密

在用戶注冊或登錄的時(shí)候,用公鑰對密碼進(jìn)行加密,把加密后的密碼傳給后端,后端用私鑰對加密的內(nèi)容進(jìn)行解密,然后進(jìn)行密碼校驗(yàn)或者保存到數(shù)據(jù)庫。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多