{"id":1304,"date":"2023-03-18T10:35:54","date_gmt":"2023-03-18T02:35:54","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=1304"},"modified":"2023-04-29T09:16:12","modified_gmt":"2023-04-29T01:16:12","slug":"frontend-jsencrypt-rsa-encryption-and-decryption","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/18\/frontend-jsencrypt-rsa-encryption-and-decryption\/","title":{"rendered":"\u524d\u7aef jsencrypt RSA \u52a0\u89e3\u5bc6"},"content":{"rendered":"<p>jsencrypt: A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.<\/p>\n<p>Official Site: <a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/www.bootcdn.cn\/jsencrypt\/\">https:\/\/www.bootcdn.cn\/jsencrypt\/<\/a><\/p>\n<p><!-- more --><\/p>\n<pre><code class=\"language-html\">&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n    &lt;head&gt;\n        &lt;meta charset=&quot;UTF-8&quot;&gt;\n        &lt;title&gt;\u4f7f\u7528jsencrypt\u6267\u884cOpenSSL\u7684RSA\u52a0\u89e3\u5bc6&lt;\/title&gt;\n    &lt;\/head&gt;\n    &lt;!--\u5f15\u5165jsencrypt.js--&gt;\n    &lt;script src=&quot;https:\/\/cdn.bootcss.com\/jsencrypt\/3.0.0-rc.1\/jsencrypt.min.js&quot;&gt;&lt;\/script&gt;\n    &lt;script type=&quot;text\/javascript&quot;&gt;\n        \/\/\u516c\u94a5\n        var PUBLIC_KEY = &#039;MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8HMr2CBpoZPm3t9tCVlrKtTmI4jNJc7\/HhxjIEiDjC8czP4PV+44LjXvLYcSV0fwi6nE4LH2c5PBPEnPfqp0g8TZeX+bYGvd70cXee9d8wHgBqi4k0J0X33c0ZnW7JruftPyvJo9OelYSofBXQTcwI+3uIl\/YvrgQRv6A5mW01QIDAQAB&#039;;\n        \/\/\u79c1\u94a5\n        var PRIVATE_KEY = &#039;MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALwcyvYIGmhk+be320JWWsq1OYjiM0lzv8eHGMgSIOMLxzM\/g9X7jguNe8thxJXR\/CLqcTgsfZzk8E8Sc9+qnSDxNl5f5tga93vRxd5713zAeAGqLiTQnRffdzRmdbsmu5+0\/K8mj056VhKh8FdBNzAj7e4iX9i+uBBG\/oDmZbTVAgMBAAECgYEAmgNU5NTDkj9B+Pnt6UU8doSjw3+3j+bV2K2yS3QUOvAUus\/Ax7x6ktjWxzCXvDY9IfUil2RNv9vtKEAqYLCWjc+lf8PV\/yH1b7NEgyeAPBXtAJRoOnmYL2bdPW92kP9KgxJruF6Dz\/C5AmMOncsvq8ABD+9Darn4p8dwj2ZC4O0CQQDf\/AHmZsQokEItfCy4mHS9UbxbfIhEUv1ApPh\/+Sr7NkJkHWYCtBQo+8jKO6zurAZQgWBPD1XX2UE4R+VIiZazAkEA1wAqtMvGhccyRZr+6kpkpDIa8+9jOE+nGUzqTDvgCID6as8AzOONFVVK6m\/UUqkhcJ8Qu1pF36BGojy5BX2KVwJBAJSFpbji0hXXupowqfLp3RcgmNbNWAp+QUJZYhJx5cdYbmO2fssyH+AhPT6knYJR\/YnqkDM8hv6vKCkqu2YDHjMCQAOA8TE5EOclM+CGghj3VWSHnIDVKdzFD4gOBNNxNlltIKeU8AJmwunSFgJ0CBXAw9a+ANvMwM7AIeaK7sj0HskCQAvxfDCq7gaNx+pfu0FHG8Gix08A\/A6foggBl1fVu+L9sr9ZuOQ3HbXnl28F9ewuB9xdjnLUDjp7W7U0pB+vKoQ=&#039;;\n        \/\/\u4f7f\u7528\u516c\u94a5\u52a0\u5bc6\n        var encrypt = new JSEncrypt();\n        \/\/encrypt.setPrivateKey(&#039;-----BEGIN RSA PRIVATE KEY-----&#039;+PRIVATE_KEY+&#039;-----END RSA PRIVATE KEY-----&#039;);\n        encrypt.setPublicKey(&#039;-----BEGIN PUBLIC KEY-----&#039; + PUBLIC_KEY + &#039;-----END PUBLIC KEY-----&#039;);\n        var encrypted = encrypt.encrypt(&#039;AppBlog.CN&#039;);\n        console.log(&#039;\u52a0\u5bc6\u540e\u6570\u636e:%o&#039;, encrypted);\n        \/\/\u4f7f\u7528\u79c1\u94a5\u89e3\u5bc6\n        var decrypt = new JSEncrypt();\n        \/\/decrypt.setPublicKey(&#039;-----BEGIN PUBLIC KEY-----&#039; + PUBLIC_KEY + &#039;-----END PUBLIC KEY-----&#039;);\n        decrypt.setPrivateKey(&#039;-----BEGIN RSA PRIVATE KEY-----&#039;+PRIVATE_KEY+&#039;-----END RSA PRIVATE KEY-----&#039;);\n        var uncrypted = decrypt.decrypt(encrypted);\n        console.log(&#039;\u89e3\u5bc6\u540e\u6570\u636e: %o&#039;, uncrypted);\n    &lt;\/script&gt;\n&lt;\/html&gt;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>jsencrypt: A Javascript library to perform OpenSSL RSA  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[108],"class_list":["post-1304","post","type-post","status-publish","format-standard","hentry","category-frontend-basic","tag-rsa"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1304"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1304\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}