87 lines
1.2 KiB
Plaintext
87 lines
1.2 KiB
Plaintext
RSA 非对称加密
|
||
|
||
公钥()
|
||
|
||
私钥()
|
||
|
||
前端 公钥 加解密
|
||
后端 私钥 加解密
|
||
|
||
后端响应数据给前端的时候,使用 私钥 加密数据
|
||
前端收到数据,使用公钥 解密
|
||
|
||
前端发送ajax给后端,使用 公钥 加密数据
|
||
后端收到前端ajax,使用 私钥 解密数据
|
||
|
||
拦截器拦截ajax数据,验证请求头是否有 data 参数,如果有再验证是否有token,响应请求
|
||
没有 统一错误提示
|
||
|
||
{
|
||
data: ''
|
||
token: ''
|
||
}
|
||
|
||
后端:Node-rsa
|
||
前端:Node-rsa
|
||
|
||
前端
|
||
|
||
原始数据
|
||
|
||
{
|
||
name: 'bmy',
|
||
pwd: '1234567890'
|
||
}
|
||
|
||
加密后:
|
||
REERG44Y53EJCNJNQFH87&^*(hJBJLHBSDKNEGEIBEJBENFKJQ
|
||
|
||
放在请求头传递给后端
|
||
|
||
$.ajax({
|
||
url: '',
|
||
headers: {
|
||
token: '234323455434543',
|
||
data: REERG44Y53EJCNJNQFH87&^*(hJBJLHBSDKNEGEIBEJBENFKJQ
|
||
}
|
||
})
|
||
|
||
|
||
从请求头拿到数据:
|
||
|
||
REERG44Y53EJCNJNQFH87&^*(hJBJLHBSDKNEGEIBEJBENFKJQ
|
||
|
||
将数据解密:
|
||
|
||
{
|
||
name: 'bmy',
|
||
pwd: '1234567890'
|
||
}
|
||
|
||
使用数据。
|
||
|
||
|
||
|
||
拦截器中对将要返回给前端的数据进行加密
|
||
[
|
||
{}
|
||
{}
|
||
]
|
||
|
||
|
||
{
|
||
status: 200,
|
||
message: '请求成功',
|
||
data: WRFBDJFL34545K453H2R9F287A8X8*^*&*(yt*zBJBJBFJWJBIJEB
|
||
}
|
||
|
||
|
||
|
||
前端axios 响应拦截器对数据解密
|
||
|
||
|
||
|
||
|
||
RSA 数据加密
|
||
|
||
token jsonwebtoken |