aboutsummaryrefslogtreecommitdiff
path: root/node_modules/crypto-browserify/test/node
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:38:48 +0800
committerruki <waruqi@gmail.com>2018-11-07 21:53:09 +0800
commit26105034da4fcce7ac883c899d781f016559310d (patch)
treec459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/crypto-browserify/test/node
parent2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff)
downloadxmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz
xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip
switch to vuepress
Diffstat (limited to 'node_modules/crypto-browserify/test/node')
-rw-r--r--node_modules/crypto-browserify/test/node/dh.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/crypto-browserify/test/node/dh.js b/node_modules/crypto-browserify/test/node/dh.js
new file mode 100644
index 00000000..0b3aa710
--- /dev/null
+++ b/node_modules/crypto-browserify/test/node/dh.js
@@ -0,0 +1,51 @@
+var test = require('tape')
+var cryptoB = require('../../')
+var crypto = require('crypto')
+
+test('diffie-hellman mod groups', function (t) {
+ [
+ 'modp1', 'modp2', 'modp5', 'modp14', 'modp15', 'modp16'
+ ].forEach(function (mod) {
+ t.test(mod, function (t) {
+ t.plan(3)
+ var dh1 = cryptoB.getDiffieHellman(mod)
+ var p1 = dh1.getPrime().toString('hex')
+ dh1.generateKeys()
+
+ var dh2 = crypto.getDiffieHellman(mod)
+ var p2 = dh2.getPrime().toString('hex')
+ dh2.generateKeys()
+ t.equals(p1, p2, 'equal primes')
+ var pubk1 = dh1.getPublicKey()
+ var pubk2 = dh2.getPublicKey()
+ t.notEquals(pubk1, pubk2, 'diff public keys')
+ var pub1 = dh1.computeSecret(pubk2).toString('hex')
+ var pub2 = dh2.computeSecret(pubk1).toString('hex')
+ t.equals(pub1, pub2, 'equal secrets')
+ })
+ })
+})
+
+test('diffie-hellman key lengths', function (t) {
+ [
+ 64, 65, 192
+ ].forEach(function (len) {
+ t.test('' + len, function (t) {
+ t.plan(3)
+ var dh2 = cryptoB.createDiffieHellman(len)
+ var prime2 = dh2.getPrime()
+ var p2 = prime2.toString('hex')
+ var dh1 = crypto.createDiffieHellman(prime2)
+ var p1 = dh1.getPrime().toString('hex')
+ dh1.generateKeys()
+ dh2.generateKeys()
+ t.equals(p1, p2, 'equal primes')
+ var pubk1 = dh1.getPublicKey()
+ var pubk2 = dh2.getPublicKey()
+ t.notEquals(pubk1, pubk2, 'diff public keys')
+ var pub1 = dh1.computeSecret(pubk2).toString('hex')
+ var pub2 = dh2.computeSecret(dh1.getPublicKey()).toString('hex')
+ t.equals(pub1, pub2, 'equal secrets')
+ })
+ })
+})