# encryptlong **Repository Path**: wuhan0620/encryptlong ## Basic Information - **Project Name**: encryptlong - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-11-01 - **Last Updated**: 2024-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # encryptlong # 原版官方网站 http://travistidwell.com/jsencrypt # 介绍 基于 jsencrypt 扩展长文本分段加解密功能 npm 安装: ```bash npm i encryptlong -S ``` 浏览器使用: ```html ``` # 基本使用 > 注意:使用长文本加密时最好公私钥都要设置,避免有概率加密失败 这里只扩展了长文本的分段加解密,其它 api 请查看官网 http://travistidwell.com/jsencrypt - `encryptLong()` 长文本加密 - `decryptLong()` 长文本解密 ```js let startTime = new Date(); //公钥 const PUBLIC_KEY = ` -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKX1Fs2JUD25zrAEwPnjnZC0az rl1XjGzGrJ64eb1lr9QVVOO2zGKZdqDLZD4Ut4Mp6GHMaqqFXKm+zN7IAXu+mqZb UrqUziHE5YGC02wObiZEzfa6V9a8ZvqpB+Z8KO+hAkkjzjMl+E+hDORpZmez3SMz etn7mcCeLw8/vmxz3QIDAQAB -----END PUBLIC KEY-----`; //私钥 const PRIVATE_KEY = ` -----BEGIN PUBLIC KEY----- MIICXgIBAAKBgQDKX1Fs2JUD25zrAEwPnjnZC0azrl1XjGzGrJ64eb1lr9QVVOO2 zGKZdqDLZD4Ut4Mp6GHMaqqFXKm+zN7IAXu+mqZbUrqUziHE5YGC02wObiZEzfa6 V9a8ZvqpB+Z8KO+hAkkjzjMl+E+hDORpZmez3SMzetn7mcCeLw8/vmxz3QIDAQAB AoGBAJBr6b4V6nJwXdHPyngy4PGl/HTqcK60BkTamALqzmEtU9tNU5z2yz7dy+6a wTsjo7Vao8CwNrUp5fHGXw65EEc1/3Iu2Fiix0XF7RP4NFSoxbBmzQW1nUK/5DFi 4VR1uhEmdbgLwGabsdqzeUqhRKkRGAPVCotBjaDBOu0J3Mu5AkEA+SM7Ctu7evOv ZwjWrp9a5MGxJ9yLLabbIuWL+420jr2G6ojaTZ2ROA2DWWQPx4JqWxDHttomrb38 dk2emP2WAwJBAM/yU58YRQ+dTeuTzNYC1JdWcs35n9+hoVP7y+x29CmcqDTPp3nR Bbbq88yMb2nZdlwthWi7BurNHsRJFqj0GJ8CQF5gJCuW1UxcJ2PGi1yW7R2e6fcJ qoden8B2aDKgmXdBAGyz7s5cE/jB1bH1H60aECPzFVSFCwXh5FMEUEHwPfUCQQC7 JqZ57lbhebrSRcA58GwzFFvY40wu8gIHWvwqgti2xsZgWW+qZCPXf9gSBWaUhmJP Da0fGAxesGN7VyhswNuTAkEAzCFNqL/zwHXcwh9YyHTdk/bRWIJq49jTA+vbgGv0 szKIvGRKoRbub3NEUiI80TDsCAvbJ6R80J7RjnpmShOwcA== -----END PUBLIC KEY-----`; // 使用设置公私钥 const enc = new JSEncrypt(); enc.setPublicKey(PUBLIC_KEY); enc.setPublicKey(PRIVATE_KEY); // 一段长文本json let data = { code: 200, result: { timestamp: 1572321851823, inter1: ["123123123", "123123123", "123123123", "123123123", "123123123"], inter2: ["123123123", "123123123", "123123123", "123123123", "123123123"], inter3: ["123123123", "123123123", "123123123", "123123123", "123123123"], inter4: ["123123123", "123123123", "123123123", "123123123", "123123123"], inter5: ["123123123", "123123123", "123123123", "123123123", "123123123"], inter6: ["123123123", "123123123", "123123123", "123123123", "123123123"], stream: {}, caton: {}, card: [] } }; data = JSON.stringify(data); let encrypted = enc.encryptLong(data); let endTime = new Date(); console.log("加密后数据:%o", encrypted); console.log("加密时间" + (endTime - startTime) + "ms"); //使用私钥解密 let uncrypted = enc.decryptLong(encrypted); console.log("解密后数据:%o", uncrypted); ``` # 其它使用 这个库应该与 openssl 一起使用 - 在终端(基于 Unix 的操作系统) ```bash openssl genrsa -out rsa_1024_priv.pem 1024 ``` - 会生成一个私钥,您可以通过执行以下操作查看 ```bash cat rsa_1024_priv.pem ``` - 然后,您可以将其复制到 index.html 内的私钥处 - 接下来,您可以通过执行以下命令来获取公钥 ```bash openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem ``` - 查看公钥 ```bash cat rsa_1024_pub.pem ``` - 将其复制到 index.html 中的 Public 键中 - 现在,您可以通过在代码中执行以下操作来转换加密解密文本转换 ```html