crypto.getDiffieHellman(groupName)
添加于:v0.7.5
参数
groupName
<string>- 返回: <DiffieHellmanGroup>
创建一个预定义的DiffieHellmanGroup
key 交换对象。支持的组是:'modp1'
、'modp2'
、'modp5'
(在 RFC 2412 中定义,但参见 Caveats)和 'modp14'
、'modp15'
、'modp16'
、'modp17'
、 'modp18'
(在 RFC 3526 中定义)。返回的对象模仿由
创建的对象的接口,但不允许更改键(例如,使用 crypto.createDiffieHellman()
)。使用这种方法的优点是双方不必事先生成或交换组模数,从而节省了处理器和通信时间。diffieHellman.setPublicKey()
示例(获取共享 key ):
const { getDiffieHellman } = await import('node:crypto'); const alice = getDiffieHellman('modp14'); const bob = getDiffieHellman('modp14'); alice.generateKeys(); bob.generateKeys(); const aliceSecret = alice.computeSecret(bob.getPublicKey(), null, 'hex'); const bobSecret = bob.computeSecret(alice.getPublicKey(), null, 'hex'); /* aliceSecret and bobSecret should be the same */ console.log(aliceSecret === bobSecret);
const { getDiffieHellman, } = require('node:crypto'); const alice = getDiffieHellman('modp14'); const bob = getDiffieHellman('modp14'); alice.generateKeys(); bob.generateKeys(); const aliceSecret = alice.computeSecret(bob.getPublicKey(), null, 'hex'); const bobSecret = bob.computeSecret(alice.getPublicKey(), null, 'hex'); /* aliceSecret and bobSecret should be the same */ console.log(aliceSecret === bobSecret);
相关用法
- Node.js crypto.getDiffieHellman()用法及代码示例
- Node.js crypto.getCurves()用法及代码示例
- Node.js crypto.getHashes()用法及代码示例
- Node.js crypto.getCiphers()用法及代码示例
- Node.js crypto.generateKeyPairSync(type, options)用法及代码示例
- Node.js crypto.generateKeyPair()用法及代码示例
- Node.js crypto.generateKeyPair(type, options, callback)用法及代码示例
- Node.js crypto.generateKeyPairSync()用法及代码示例
- Node.js crypto.generateKeySync(type, options)用法及代码示例
- Node.js crypto.generateKey(type, options, callback)用法及代码示例
- Node.js crypto.randomFill()用法及代码示例
- Node.js crypto.createHmac()用法及代码示例
- Node.js crypto.randomFillSync(buffer[, offset][, size])用法及代码示例
- Node.js crypto.constants用法及代码示例
- Node.js crypto.randomInt([min, ]max[, callback])用法及代码示例
- Node.js crypto.publicEncrypt()用法及代码示例
- Node.js crypto.publicDecrypt()用法及代码示例
- Node.js crypto.pbkdf2Sync(password, salt, iterations, keylen, digest)用法及代码示例
- Node.js crypto.createHash()用法及代码示例
- Node.js crypto.hkdfSync()用法及代码示例
- Node.js crypto.randomFillSync()用法及代码示例
- Node.js crypto.checkPrime()用法及代码示例
- Node.js crypto.sign()用法及代码示例
- Node.js crypto.webcrypto用法及代码示例
- Node.js crypto.createCipheriv()用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 crypto.getDiffieHellman(groupName)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。