一、什么是RSA加密
RSA加密算法是一种非对称加密算法。
非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥和私有密钥。
非对称加密的模式规则是:
后端生成两把密钥(公钥和私钥),公钥是公开的,任何人都可以获得,私钥是保密的;前端获取乙方的公钥,然后对它进行信息加密;乙方得到加密后的信息,用私钥解密。
前端需要做的工作即获取后端的公钥,然后对它进行信息加密,使用步骤如下:
1.安装jsencrypt模块
npm install --save jsencrypt
2.在需要进行加密操作的模块中使用
import * as JsEncryptModule from 'jsencrypt'; export class RsaUtil { constructor() { } public getSignStr(timestr: string) { let publicKey = '-----BEGIN PUBLIC KEY-----公钥-----END PUBLIC KEY-----'; let privateStr = "这是一个测试密码"; let encrypt = new JsEncryptModule.JSEncrypt(); console.log(encrypt); encrypt.setPublicKey(publicKey); let signature = encrypt.encrypt(privateStr + timestr); console.log(signature); return signature; } }
3.后端解密
前端将加密后的信息发送给后端,后端解密,即完成了这一次的加密过程。
注意:此时line9是报错的,可以采取以下方式解决:
在src文件夹中,创建一个名为@types的文件夹,在其中创建另一个包含名称的文件夹,即jsencrypt,最后在其中创建一个index.d.ts:
project_folder/src/@types/jsencrypt/index.d.ts内容如下:
declare module 'jsencrypt';
本文转载自:gaiery,版权归原作者所有,本博客仅以学习目的的传播渠道,不作版权和内容观点阐述,转载时根据场景需要有所改动。
最新评论