【问题标题】:Diffie Hellman algorithm on browser浏览器上的 Diffie Hellman 算法
【发布时间】:2020-08-19 08:12:01
【问题描述】:

NodeJS 有加密模块,其中 DiffieHellman 是一个类。所以,我可以使用这种方法来生成密钥和计算密钥。

但是,客户端还需要创建另一个 diffiehellman 类的实例。但是怎么做呢?我可以在客户端使用加密模块吗?如果是,那么如何,任何解决方案?这是我的客户端代码...

const crypto = require('crypto');
const express = require('express');
const app = express();

// Generate server's keys...
const server = crypto.createDiffieHellman(139);
const serverKey = server.generateKeys();
//send p=prime and g=generator to the client

【问题讨论】:

    标签: node.js ecmascript-6 public-key-encryption diffie-hellman node-crypto


    【解决方案1】:

    Node.js 有自己的“crypto”模块使用DiffieHellman 算法,所以你可以自己在浏览器上观看和编写。

    第二种方法是准备好库以供使用(在 github 或其他地方),例如this one.

    【讨论】:

    • 先生,我想使用图书馆。我已经制作了一个脚本来使用这个库,但是遇到了 createDiffieHellman 不是函数的错误。(你的第二个选项)。我试图阅读 readme.md 但不明白我需要做什么。 <script>const crypto = require('crypto'); const client = crypto.createDiffieHellman(139); </script>
    • 你不能在浏览器上这样做,因为它是一个 node.js 模块,而不是浏览器模块。
    • 也许这会有所帮助:npmjs.com/package/crypto-browserify
    • 不,我尝试了这个加密浏览器,但完全失败了。这是我的问题stackoverflow.com/q/63500683/7483046
    • 但是,我尝试调用 createDiffHellman,正如他们在示例中显示的那样。它出现错误。经过大量观察,我发现他们将createDiffiHellman 拼写错误bundle.js。正确后显示this is not implemented yet。而且,我再次检查了 bundle.js 并观察到他们只导出了他们在示例中显示的 createHash 属性。并且所有其他属性尚未实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    相关资源
    最近更新 更多