前端接口安全方面,我们在注册登录时需要对密码等信息进行加密传输,下面是使用非对称加密算法RSA进行加密的方法使用。
一、引入加密库 jsencrypt
可以直接引用CDN中的 jsencrypt.min.js
,也可以使用npm进行工程化引入。
// https://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-----MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgG1CQeJykYGvfrlJym3mMFJpMjIhI8t3u0UtpcjYN8DnVjo/zFivIsodgDCzsYiB5cPWTJsDHcnkl8DUnveVtlP17ziQjATNxb9i/N/as2OyEqXkeJrhAlRHwI8pv5cKsuoroyKT4FA6+Vs0BM8F2vz5eG2Vls8C+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')) // 对密码进行加密后发送请求// 发送请求// ...
}
网页数据安全方面,主要是要知道有什么方法,然后就能有目的的找已有库然后进行封装使用。