济南网站建设公司选济南网络,网站设计制作步骤,网站模板管理系统,链家网jsencrypt加密解密Ts使用方法示例 安装依赖创建ts文件 前言#xff1a;顺便处理分段加密长文本处理#xff0c;也可以用
encryptlong点击进入详细介绍#xff08;
基于 jsencrypt 扩展长文本分段加解密功能#xff09;依赖来处理加解密。我目前前端只需处理加密… jsencrypt加密解密Ts使用方法示例 安装依赖创建ts文件 前言顺便处理分段加密长文本处理也可以用
encryptlong点击进入详细介绍
基于 jsencrypt 扩展长文本分段加解密功能依赖来处理加解密。我目前前端只需处理加密下面展示的解密方法在不超过长度情况下是没问题的超过长度解密会返回null后期可能会优化解密方法。 安装依赖
npm install jsencrypt --dev 创建ts文件
src下创建libs/encrypt.ts
import JSEncrypt from jsencrypt
//去密钥生成网址去生成公钥和密钥 http://tools.jb51.net/password/rsa_encode
const publicKey:string 公钥
const privateKey:string 私钥/*** 最长加密长度*/
const MAX_ENCRYPT_BLOCK 117
/*** 最长解码长度*/
const MAX_DECRYPT_BLOCK 128// 加密
// encrypt(JSON.stringify({ name: , password: }))看加密的是字符串还是对象
export function encryptedData (msg:any) {const jsencrypt new JSEncrypt()jsencrypt.setPublicKey(-----BEGIN PUBLIC KEY-----${publicKey}-----END PUBLIC KEY-----)const chunkSize MAX_ENCRYPT_BLOCK; // 默认分段长度为117const textLen msg.length; // 待加密文本长度console.log(长度多少, textLen);let offset 0; // 分段偏移量let encrypted ; // 加密结果// 分段加密while (offset textLen) {let chunk msg.substr(offset, chunkSize); // 提取分段数据let enc jsencrypt.encrypt(chunk); // 加密分段数据encrypted enc; // 连接加密结果offset chunkSize; // 更新偏移量}return encrypted// return jsencrypt.encrypt(msg)
}// 解密
export function decryptedData (msg:any) {let decrypt new JSEncrypt()decrypt.setPrivateKey( -----BEGIN RSA PRIVATE KEY-----${privateKey}-----END RSA PRIVATE KEY-----)var decryptMsg decrypt.decrypt(msg)return decryptMsg
}