angularjs和vue实现RAS加密
2020-10-26 本文已影响0人
小小少年小阿清
一. 什么是RSA?
RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法。在了解RSA算法之前,先熟悉下几个术语
根据密钥的使用方法,可以将密码分为对称密码和公钥密码
对称密码:加密和解密使用同一种密钥的方式
公钥密码:加密和解密使用不同的密码的方式,因此公钥密码通常也称为非对称密码。
二.RAS加密实现。
1.angularjs需要引入jsencrypt.min.js。
可以执行
npm install --save jsencrypt
再到node_modules中拿到jsencrypt.min.js放于libs目录下,并于www目录下的index.html中引入。
<script src="build/lib/jsencrypt.min.js"></script>
image.png
// 进行RSA加密,publicKey是公钥。
function rsaEncryption(publicKey, str) {
publicKey =
"-----BEGIN PUBLIC KEY-----" + publicKey + "-----END PUBLIC KEY-----";
var encrypt = new JSEncrypt();
encrypt.setPublicKey(publicKey);
return encrypt.encrypt(str);
};
publicKey是公钥,str是需要进行加密的字符串,rsaEncryption函数返回的就是加密后的字符串
2.vue安装jsencrypt依赖
执行
yarn add jsencrypt --save-dev
再在需要进行加密的地方加上
import { JSEncrypt } from "jsencrypt";
// 进行RSA加密,publicKey是公钥。
function rsaEncryption(publicKey, str) {
publicKey =
"-----BEGIN PUBLIC KEY-----" + publicKey + "-----END PUBLIC KEY-----";
var encrypt = new JSEncrypt();
encrypt.setPublicKey(publicKey);
return encrypt.encrypt(str);
};