jsencrypt.js加密解密

    科技2025-08-18  19

    安装

    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() // 新建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

    Processed: 0.010, SQL: 8