# rsa and base64 **Repository Path**: summer-league/rsa-and-base64 ## Basic Information - **Project Name**: rsa and base64 - **Description**: base64与rsa混合加密 适用于uniapp pc端请看文档 - **Primary Language**: JavaScript - **License**: ISC - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 2 - **Created**: 2021-06-16 - **Last Updated**: 2025-08-25 ## Categories & Tags **Categories**: uniapp **Tags**: None ## README #### rsa 与 base64混合加密 ###### 混合加密的原因 1.rsa处理长字段加密时有缺陷 加密最长117字节 解密最长128字节 所以他的加密解密方式都是分段的 2.如果rsa加密时中文正好在117字节之间 解密重组时会出现中文乱码的情况 因为一个中文占多个字节 3.这个时候就需要用到base64加密 把中文统一处理掉 ###### 加密的用法 `首先这里的代码都处理过了 适配移动端因为移动端没有window` 如果想用在pc端请用npm下载rsa包 `npm install -s encryptLong` 接下来请看代码 ```JavaScript import JSEncrypt from './jsencrypt.js'; import {_encode,_decode} from "./base.js" //首先要导入包 实际的情况根据自身情况而定 const PUBLIC_KEY = `` //这是公钥 const PRIVATE_KEY = `` //这是私钥 //创建rsa加密实例 let enc = new JSEncrypt() //rsa中注入公钥 enc.setPublicKey(PUBLIC_KEY); //rsa中注入私钥 enc.setPublicKey(PRIVATE_KEY); //加密流程 //先base64加密处理中文 let data = _encode(data) //然后rsa加密 let rsaData = enc.encryptLong(data) //解密流程 //先rsa解密 let data = enc.decryptLong(data) //后base64解密 let BaseData = _decode(data) ``` ###### 目录结构 `base.js` base64加密的源文件 `jsencrypt.js` rsa加密的源文件 `rsa.js` rsa加密的配置文件 `README.md` 使用文档