js怎么加密密码进行发送?js使用RSA加密
前端接口安全方面,我们在注册登录时需要对密码等信息进行加密传输,下面是使用非对称加密算法RSA进行加密的方法使用。
一、引入加密库 jsencrypt
可以直接引用CDN中的 jsencrypt.min.js
,也可以使用npm进行工程化引入。
// http://cdn.bootcdn.net/ajax/libs/jsencrypt/3.3.2/jsencrypt.min.js
function encrypt(str) {
var jsencrypt = new JSEncrypt()
// var pbkey = jsencrypt.pbkey
// 生成密钥对:公钥和私钥,前端使用公钥进行加密,后端使用私钥解密
// 私钥不可在前端暴露! 私钥不可在前端暴露! 私钥不可在前端暴露!
var publicKey = `-----BEGIN PUBLIC KEY-----
MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgG1CQeJykYGvfrlJym3mMFJpMjIh
I8t3u0UtpcjYN8DnVjo/zFivIsodgDCzsYiB5cPWTJsDHcnkl8DUnveVtlP17ziQ
jATNxb9i/N/as2OyEqXkeJrhAlRHwI8pv5cKsuoroyKT4FA6+Vs0BM8F2vz5eG2V
ls8C+U4m2NR8OwDfAgMBAAE=
-----END PUBLIC KEY-----`
jsencrypt.setPublicKey(pbkey)
return jsencrypt.encrypt(str)
}
二、使用封装的加密方法加密
function login() {
var fd = new FormData()
fd.append('username', 'admin')
fd.append('password', encrypt('123456')) // 对密码进行加密后发送请求
// 发送请求
// ...
}
网页数据安全方面,主要是要知道有什么方法,然后就能有目的的找已有库然后进行封装使用。