encryptlong
原版官方网站
http://travistidwell.com/jsencrypt
介绍
基于 jsencrypt 扩展长文本分段加解密功能
npm 安装:
npm i encryptlong -S
浏览器使用:
基本使用
注意:使用长文本加密时最好公私钥都要设置,避免有概率加密失败
这里只扩展了长文本的分段加解密,其它 api 请查看官网 http://travistidwell.com/jsencrypt
encryptLong()
长文本加密decryptLong()
长文本解密
let startTime = ;//公钥const PUBLIC_KEY = `-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKX1Fs2JUD25zrAEwPnjnZC0azrl1XjGzGrJ64eb1lr9QVVOO2zGKZdqDLZD4Ut4Mp6GHMaqqFXKm+zN7IAXu+mqZbUrqUziHE5YGC02wObiZEzfa6V9a8ZvqpB+Z8KO+hAkkjzjMl+E+hDORpZmez3SMzetn7mcCeLw8/vmxz3QIDAQAB-----END PUBLIC KEY-----`;//私钥const PRIVATE_KEY = `-----BEGIN PUBLIC KEY-----MIICXgIBAAKBgQDKX1Fs2JUD25zrAEwPnjnZC0azrl1XjGzGrJ64eb1lr9QVVOO2zGKZdqDLZD4Ut4Mp6GHMaqqFXKm+zN7IAXu+mqZbUrqUziHE5YGC02wObiZEzfa6V9a8ZvqpB+Z8KO+hAkkjzjMl+E+hDORpZmez3SMzetn7mcCeLw8/vmxz3QIDAQABAoGBAJBr6b4V6nJwXdHPyngy4PGl/HTqcK60BkTamALqzmEtU9tNU5z2yz7dy+6awTsjo7Vao8CwNrUp5fHGXw65EEc1/3Iu2Fiix0XF7RP4NFSoxbBmzQW1nUK/5DFi4VR1uhEmdbgLwGabsdqzeUqhRKkRGAPVCotBjaDBOu0J3Mu5AkEA+SM7Ctu7evOvZwjWrp9a5MGxJ9yLLabbIuWL+420jr2G6ojaTZ2ROA2DWWQPx4JqWxDHttomrb38dk2emP2WAwJBAM/yU58YRQ+dTeuTzNYC1JdWcs35n9+hoVP7y+x29CmcqDTPp3nRBbbq88yMb2nZdlwthWi7BurNHsRJFqj0GJ8CQF5gJCuW1UxcJ2PGi1yW7R2e6fcJqoden8B2aDKgmXdBAGyz7s5cE/jB1bH1H60aECPzFVSFCwXh5FMEUEHwPfUCQQC7JqZ57lbhebrSRcA58GwzFFvY40wu8gIHWvwqgti2xsZgWW+qZCPXf9gSBWaUhmJPDa0fGAxesGN7VyhswNuTAkEAzCFNqL/zwHXcwh9YyHTdk/bRWIJq49jTA+vbgGv0szKIvGRKoRbub3NEUiI80TDsCAvbJ6R80J7RjnpmShOwcA==-----END PUBLIC KEY-----`; // 使用设置公私钥const enc = ;enc;enc; // 一段长文本jsonlet 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;let encrypted = enc;let endTime = ;console;console;//使用私钥解密let uncrypted = enc;console;
其它使用
这个库应该与 openssl 一起使用
- 在终端(基于 Unix 的操作系统)
openssl genrsa -out rsa_1024_priv.pem 1024
- 会生成一个私钥,您可以通过执行以下操作查看
cat rsa_1024_priv.pem
- 然后,您可以将其复制到 index.html 内的私钥处
- 接下来,您可以通过执行以下命令来获取公钥
openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem
- 查看公钥
cat rsa_1024_pub.pem
- 将其复制到 index.html 中的 Public 键中
- 现在,您可以通过在代码中执行以下操作来转换加密解密文本转换
使用jsencrypt执行长文本加密,解密 长文本加解密
- 您必须提供哈希函数。在本例中,我们使用的是CryptoJS库
- 此外,除非使用自定义散列函数,否则应该为
sign
方法提供散列类型。可能的值有:md2
,md5
,sha1
,sha224
,sha256
,sha384
,sha512
,ripemd160
.
其它信息
Base64 格式的 1024 位 RSA 私钥
-----BEGIN RSA PRIVATE KEY-----MIICXgIBAAKBgQDHikastc8+I81zCg/qWW8dMr8mqvXQ3qbPAmu0RjxoZVI47tvskYlFAXOf0sPrhO2nUuooJngnHV0639iTTEYG1vckNaW2R6U5QTdQ5Rq5u+uV3pMk7w7Vs4n3urQ6jnqt2rTXbC1DNa/PFeAZatbf7ffBBy0IGO0zc128IshYcwIDAQABAoGBALTNl2JxTvq4SDW/3VH0fZkQXWH1MM10oeMbB2qO5beWb11FGaOO77nGKfWcbYgfp5Ogrql4yhBvLAXnxH8bcqqwORtFhlyV68U1y4R+8WxDNh0aevxH8hRS/1X5031DJm1JlU0E+vStiktN0tC3ebH5hE+1OxbIHSZ+WOWLYX7JAkEA5uigRgKp8ScGauUijvdOLZIhHWq7y5Wz+nOHUuDw8P7wOTKU34QJAoWEe771p9Pf/GTA/kr0BQnPQvWUDxGzJwJBAN05C6krwPeryFKrKtjOGJIniIoY72wRnoNcdEEs3HDRhf48YWForiRbZylzzzNFy/gmzT6XJQTfktGqq+FZD9UCQGIJaGrxHJgfmpDuAhMzGsUsYtTriRox0D1Iqa7dhE693t5aBG010OF6MLqdZA1CXrn5SRtuVVaCSLZEL/2J5UcCQQDAd3MXucNnN4NPuS/L9HMYJWD7lPoosaORcgyK77bSSNgk+u9WSjbH1uYIAIPSffUZbti+jc1dUg5wb+aeZlgJAkEAurrpmpqj5vg087ZngKfFGR5rozDiTsK5DceTV97Ka3Y+Nzl+XWTxDBWk4YPh2ZlKv402hZEfWBYxUDn5ZkH/bw==-----END RSA PRIVATE KEY-----