【问题标题】:Dojo RSA configuration and usageDojo RSA 配置和使用
【发布时间】:2017-02-27 21:56:30
【问题描述】:

我是 Dojo 的新手,我希望能够使用 RSA 模块,使用从网站接收到的公钥来加密某些信息。

是否有任何关于如何执行此操作的信息或示例?

我找到了库 dojox.encoding.crypto.RSAKey 但没有信息: https://dojotoolkit.org/reference-guide/1.9/dojox/encoding/crypto/RSAKey.html

我在研究中发现了 Dojo:http://www-cs-students.stanford.edu/~tjw/jsbn/

现在我想学习 Dojo,但我使用它的主要原因是 RSA 库。

Ps.:我不想被教导 RSA 在客户端的危险,也不想在 JavaScript 端做 RSA。

【问题讨论】:

    标签: javascript security encryption dojo rsa


    【解决方案1】:

    已编辑:将示例值替换为提供的值。

    我不熟悉 RSA,但是 dojo 的 RSAKey 模块的一般用法如下(根据其source code):

    require([
    	"dojo/dom",
    	"dojox/encoding/crypto/RSAKey"
    ],function(dom, RSAKeyModule){
      
      var RSAKey = new RSAKeyModule();
      
      var n= "8efebfa74157b9447e1bc729d5e2a459ee888e87dc7ed764b473e513edba‌​7696a957871ff7a4941e‌​d360d1b42a9788bdc52a‌​8b659357dc8f252e6cc5‌​f5bbf5c659cc9e9837df‌​4ca6eee1c47889b055ac‌​3802bb9491e88483491b‌​08dff9e9472d99341134‌​bcfc4ecf38915553bda0‌​8f943089377a95c7118f‌​ebcef2841288aedb1b8b‌​a22e211da2ab527d26d7‌​accf2e05421260a23f06‌​cf2b13e0ffd51e8f401b‌​c113768027ad29c37156‌​4d179c82639061272e4f‌​940bf50ba6490933f788‌​715f8c268dd2c85a461e‌​899ba416a51557fec7a9‌​a4f1ed3df95cf5bd14bb‌​529dd331b9a79828366a‌​9589deb32e730369cd62‌​352ef7fdd9297e1193f4‌​a33e01289a6f"
      
      var e = "10001";
      
      RSAKey.setPublic(n, e);
      var encrypted = RSAKey.encrypt("abc");
      dom.byId("result").innerHTML = encrypted;
    });
    <script src="https://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
    <div id="result"></div>

    请参阅dojo/request/xhr 模块 - 可能有助于接收密钥。

    【讨论】:

    • 谢谢,我试试看。
    • This is my RSA Public Key: modulus: 8efebfa74157b9447e1bc729d5e2a459ee888e87dc7ed764b473e513edba7696a957871ff7a4941ed360d1b42a9788bdc52a8b659357dc8f252e6cc5f5bbf5c659cc9e9837df4ca6eee1c47889b055ac3802bb9491e88483491b08dff9e9472d99341134bcfc4ecf38915553bda08f943089377a95c7118febcef2841288aedb1b8ba22e211da2ab527d26d7accf2e05421260a23f06cf2b13e0ffd51e8f401bc113768027ad29c371564d179c82639061272e4f940bf50ba6490933f788715f8c268dd2c85a461e899ba416a51557fec7a9a4f1ed3df95cf5bd14bb529dd331b9a79828366a9589deb32e730369cd62352ef7fdd9297e1193f4a33e01289a6f public exponent: 10001
    • 在我的 java 应用程序中,它可以很好地加密消息并正确使用私钥解密:
    • Encrypting 'abc': T1uAc60TKQV163iQSEdBvRpkWCBn0p1an8HdeBznaiToElYImWttgd3R4epseVoC3+DZMB/wySgdlpfhoml4FET7ouSRXNGLKugqK3rZZ5NghWMo08/yJURBBagORUeBmybIHyete1gnctf3Zh8TEFF0Qlt6Kcxd61/eBIgroSbJDdDW6rQklC7bkrTqVMlfftv1t/KY2r8rtOQ11bLMaBnhpKj6UC2hJD5hrbTgnMLkWOPTC097pu4+m8sGjsrjttmcO9u+gnUGhfpHUwvkTct9L7rCrgrvvkPVpnmdI2Be8sj6G5O7WjChnOcedVttI8Yt6URtieIDk4Mxrsa8Uw== Decrypting 'abc': abc
    • 但是当我使用 Dojo RSA 加密时,加密的消息无法解密,并出现以下错误:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多