安装
npm install jsencrypt
引入
import JSEncrypt
from 'jsencrypt/bin/jsencrypt';
方法封装
import JSEncrypt
from './jsencrypt.js'
function des_encrypt(data
) {
let publicKey
=
`-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMsTku7s3NjWfAyvdLDR/JBqb+Hn3EIQ
KwDvXUJhKM78YyIwsgn3sgw2iBHY+cT0pB+7BzSxKe1NjfTn2xUxjrkCAwEAAQ==
-----END PUBLIC KEY-----`
let encryptor
= new JSEncrypt()
encryptor
.setPublicKey(publicKey
)
return encryptor
.encrypt(data
)
}
function des_decrypt(data
) {
let privateKey
=
`-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBAMsTku7s3NjWfAyvdLDR/JBqb+Hn3EIQKwDvXUJhKM78YyIwsgn3
sgw2iBHY+cT0pB+7BzSxKe1NjfTn2xUxjrkCAwEAAQJALsYwZrXJ3GvyoJ1dHEkR
ilXptTfJZLICpbF8YoisdJgF4jGZkvvIWTgvpKk0r67uT6UR1bCNaGi633MtEtlK
8QIhAPprx3mnrsppcwPRTfQboEhSeKuwK2wSe5qRPIQu+IBlAiEAz5nGjQ02Cl5K
RvbF2Q97TBIf0f/Gl5hnw5hYCy0BLcUCIQD0hHjqGQlbK0va1my/hpojBCQ/wG0l
wYZfjqEAkLyk4QIgSUMjZrO61n3gCJsdxzRHdtkOkbWKCAWo2MXyjD8do2ECIQDB
RZWiISXt8gmeDiF/X0lalHm7ZuDU4sIA/YQ2L+S/wQ==
-----END RSA PRIVATE KEY-----`;
let decrypt
= new JSEncrypt();
decrypt
.setPrivateKey(privateKey
);
return decrypt
.decrypt(data
);
},
module
.exports
= {
des_encrypt
,
des_decrypt
}
php后端解密
function RSA($data){
$private_key='-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCnw/PMCyoQtHNNxpJJdBEX/bN3vNWRnFvzhTOHl7jlA41ospJ1
x+b1p4AoeK6m2m/PC1427sfEIMTv/9xkCdC70FveNs3mvi88PA/LGyoa3YXtBvZB
si8WaX/CLAeSDXyEiQYcgsec68LyTMKOHBISTV5bwbnXAYuBNfWaY1GjqQIDAQAB
AoGBAJuG2XkL0I9z+oDb2bom08H9/GbAtO0sm0IC9mZ5jXsh8/Jfuc9e5wpNok3i
s2cTkhvLWihq7N8x0eD8vgAv6UT0ATbllP5T51DdVlKophbX/NZUiqXfZLREg4ZZ
aBizzrOBWg6EBnXD1u+sld0WgA7iAofhPSor1IB7fwbtLJxRAkEAz2Au+bRZtR2e
u1yVaLK3urt82TZvjmbeK7/3MZDg9yghiuUyP9nAIPGYZwRCQbDLrym12OiJn3s7
Lb0FkFNf8wJBAM8aJRbKWlnLQxxAdzbR7kJpKYlZKwEANguGNN66Xqc6hKrYSlsc
aBEHpBNCpWX/BrtBqyKfmfb+aByMo/EQMPMCQDZ8O/tpkkRO4vyxR6Q5iKJsTlI3
xjmw92ChUE5alXD6v01iCMDT8nH1aChw6wOdcvazy86Q0k/vrc3HoyWXclcCQESe
Mv+0F+98a0XnDhi5wal7UmnRg3AXc9CprMbHFSlvOBmrBCff55MM5w4CnO6IauCM
R3l3S/oMHM6owoDSjoUCQEkgq2hbSYdjYHquExOJBrwB6UDchP74t98nlJ3bfOkq
td1XVub56pdwr7fvmqOG8REO2zirjvhs9H0FTS0eNq4=
-----END RSA PRIVATE KEY-----';
$hex_encrypt_data = trim($data);
openssl_private_decrypt(base64_decode($hex_encrypt_data), $decrypt_data, $private_key);
return $decrypt_data;
}
RSA密钥在线生成地址
uniapp打包小程序使用jsencrypt.js报错,需要对其进行部分修改
修改后的jsencrypt.js
转载请注明原文地址:https://blackberry.8miu.com/read-40559.html