
$ 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
$ 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-----
npm install jsencrypt
下載后查看package-lock.json文件查看jsencrypt是否下載成功及其版本

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) }
import { encrypt } from '@/utils/rsaEncrypt'
password=encrypt(password);//對密碼進(jìn)行加密
在用戶(hù)注冊或登錄的時(shí)候,用公鑰對密碼進(jìn)行加密,把加密后的密碼傳給后端,后端用私鑰對加密的內容進(jìn)行解密,然后進(jìn)行密碼校驗或者保存到數據庫。
聯(lián)系客服