zoukankan      html  css  js  c++  java
  • 前端h5-RSA加密

    网上翻了很多资料都没有自己想要的,绝大多数都是千篇一律的,几经辛苦终于找到一篇靠谱的,通俗易懂的博客。

    请戳这里:https://github.com/travist/jsencrypt 

    作者写的很清楚了,只需要传递两个值即可,一个是公钥,一个是要加密的字符串。本人也试验过了,亲测有效,绝对靠谱。

    这里只提供给伸手党,不讲理论知识。此库还提供了md5,sha等算法,十分方便。最后要感谢作者,感谢上帝。

    恐防以后作者的代码有变,我这里先复制粘贴下来。

    <!doctype html>
    <html>
      <head>
        <title>JavaScript RSA Encryption</title>
        <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
        <script src="bin/jsencrypt.min.js"></script>
        <script type="text/javascript">
    
          // Call this code when the page is done loading.
          $(function() {
    
            // Run a quick encryption/decryption when they click.
            $('#testme').click(function() {
    
              // Encrypt with the public key...
              var encrypt = new JSEncrypt();
              encrypt.setPublicKey($('#pubkey').val());
              var encrypted = encrypt.encrypt($('#input').val());
    
              // Decrypt with the private key...
              var decrypt = new JSEncrypt();
              decrypt.setPrivateKey($('#privkey').val());
              var uncrypted = decrypt.decrypt(encrypted);
    
              // Now a simple check to see if the round-trip worked.
              if (uncrypted == $('#input').val()) {
                alert('It works!!!');
              }
              else {
                alert('Something went wrong....');
              }
            });
          });
        </script>
      </head>
      <body>
        <label for="privkey">Private Key</label><br/>
        <textarea id="privkey" rows="15" cols="65">-----BEGIN RSA PRIVATE KEY-----
    MIICXQIBAAKBgQDlOJu6TyygqxfWT7eLtGDwajtNFOb9I5XRb6khyfD1Yt3YiCgQ
    WMNW649887VGJiGr/L5i2osbl8C9+WJTeucF+S76xFxdU6jE0NQ+Z+zEdhUTooNR
    aY5nZiu5PgDB0ED/ZKBUSLKL7eibMxZtMlUDHjm4gwQco1KRMDSmXSMkDwIDAQAB
    AoGAfY9LpnuWK5Bs50UVep5c93SJdUi82u7yMx4iHFMc/Z2hfenfYEzu+57fI4fv
    xTQ//5DbzRR/XKb8ulNv6+CHyPF31xk7YOBfkGI8qjLoq06V+FyBfDSwL8KbLyeH
    m7KUZnLNQbk8yGLzB3iYKkRHlmUanQGaNMIJziWOkN+N9dECQQD0ONYRNZeuM8zd
    8XJTSdcIX4a3gy3GGCJxOzv16XHxD03GW6UNLmfPwenKu+cdrQeaqEixrCejXdAF
    z/7+BSMpAkEA8EaSOeP5Xr3ZrbiKzi6TGMwHMvC7HdJxaBJbVRfApFrE0/mPwmP5
    rN7QwjrMY+0+AbXcm8mRQyQ1+IGEembsdwJBAN6az8Rv7QnD/YBvi52POIlRSSIM
    V7SwWvSK4WSMnGb1ZBbhgdg57DXaspcwHsFV7hByQ5BvMtIduHcT14ECfcECQATe
    aTgjFnqE/lQ22Rk0eGaYO80cc643BXVGafNfd9fcvwBMnk0iGX0XRsOozVt5Azil
    psLBYuApa66NcVHJpCECQQDTjI2AQhFc1yRnCU/YgDnSpJVm1nASoRUnU8Jfm3Oz
    uku7JUXcVpt08DFSceCEX9unCuMcT72rAQlLpdZir876
    -----END RSA PRIVATE KEY-----</textarea><br/>
        <label for="pubkey">Public Key</label><br/>
        <textarea id="pubkey" rows="15" cols="65">-----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlOJu6TyygqxfWT7eLtGDwajtN
    FOb9I5XRb6khyfD1Yt3YiCgQWMNW649887VGJiGr/L5i2osbl8C9+WJTeucF+S76
    xFxdU6jE0NQ+Z+zEdhUTooNRaY5nZiu5PgDB0ED/ZKBUSLKL7eibMxZtMlUDHjm4
    gwQco1KRMDSmXSMkDwIDAQAB
    -----END PUBLIC KEY-----</textarea><br/>
        <label for="input">Text to encrypt:</label><br/>
        <textarea id="input" name="input" type="text" rows=4 cols=70>This is a test!</textarea><br/>
        <input id="testme" type="button" value="Test Me!!!" /><br/>
      </body>
    </html>

    最后想说一句,前人栽树后人乘凉,如果你也遇到一个解不了的难题,不一定要有结果的,希望也留下你找寻答案的痕迹,留给后人一个此路不通的方向标。

  • 相关阅读:
    c语言l博客作业04
    【 js 基础 】【 源码学习 】 深浅拷贝
    【 js 片段 】如何组织表单的默认提交?【亲测有效】
    【 js 性能优化】【源码学习】underscore throttle 与 debounce 节流
    【 js 片段 】移动端适配简易步骤
    【 js 模块加载 】【源码学习】深入学习模块化加载(node.js 模块源码)
    【 js 片段 】点击空白或者页面其他地方,关闭弹框
    【 js 算法类】这么全的数组去重,你怕不怕?
    【 js 工具 】如何使用Git上传本地项目到github?(mac版)
    【 js 工具 】如何在Github Pages搭建自己写的页面?
  • 原文地址:https://www.cnblogs.com/masita/p/10271759.html
Copyright © 2011-2022 走看看