如何在浏览器端使用 Diffie Hellman 算法?
How to use Diffie Hellman algorithm at the browser?
我想使用 nodeJS 作为服务器端语言。 NodeJS 有加密模块,其中 DiffieHellman 是 class。所以,我可以用这个方法来生成密钥和计算密钥。
但是,客户端还需要创建另一个 diffiehellman 实例 class。但是怎么做呢?我可以在客户端使用加密模块吗?如果是那么如何,任何解决方案?
这是我的客户端代码...
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
不确定您打算在这里实现什么,但浏览器似乎有这样的端口:
https://www.npmjs.com/package/crypto-browserify。
createDiffieHellman
在已经移植的模块列表中。特别要看一下这个例子:https://github.com/crypto-browserify/crypto-browserify/tree/master/example。而不是 createHash
我相信你可以尝试调用 createDiffieHellman
.
有关 client-side ECDH 密钥生成和密钥交换的示例,请参阅 http://www-cs-students.stanford.edu/~tjw/jsbn/ecdh.html javascript。
我想使用 nodeJS 作为服务器端语言。 NodeJS 有加密模块,其中 DiffieHellman 是 class。所以,我可以用这个方法来生成密钥和计算密钥。
但是,客户端还需要创建另一个 diffiehellman 实例 class。但是怎么做呢?我可以在客户端使用加密模块吗?如果是那么如何,任何解决方案? 这是我的客户端代码...
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
不确定您打算在这里实现什么,但浏览器似乎有这样的端口:
https://www.npmjs.com/package/crypto-browserify。
createDiffieHellman
在已经移植的模块列表中。特别要看一下这个例子:https://github.com/crypto-browserify/crypto-browserify/tree/master/example。而不是 createHash
我相信你可以尝试调用 createDiffieHellman
.
有关 client-side ECDH 密钥生成和密钥交换的示例,请参阅 http://www-cs-students.stanford.edu/~tjw/jsbn/ecdh.html javascript。