| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | var mods = [  'secp256k1',  'secp224r1',  'prime256v1',  'prime192v1']var test = require('tape')var _crypto = require('../')var createECDH1 = _crypto.createECDHvar createECDH2 = require('create-ecdh/browser')mods.forEach(function (mod) {  test('createECDH: ' + mod + ' uncompressed', function (t) {    t.plan(2)    var dh1 = createECDH1(mod)    dh1.generateKeys()    var dh2 = createECDH2(mod)    dh2.generateKeys()    var pubk1 = dh1.getPublicKey()    var pubk2 = dh2.getPublicKey()    t.notEquals(pubk1.toString('hex'), pubk2.toString('hex'), 'diff public keys')    var pub1 = dh1.computeSecret(pubk2).toString('hex')    var pub2 = dh2.computeSecret(pubk1).toString('hex')    t.equals(pub1, pub2, 'equal secrets')  })  test('createECDH: ' + mod + ' compressed', function (t) {    t.plan(2)    var dh1 = createECDH1(mod)    dh1.generateKeys()    var dh2 = createECDH2(mod)    dh2.generateKeys()    var pubk1 = dh1.getPublicKey(null, 'compressed')    var pubk2 = dh2.getPublicKey(null, 'compressed')    t.notEquals(pubk1.toString('hex'), pubk2.toString('hex'), 'diff public keys')    var pub1 = dh1.computeSecret(pubk2).toString('hex')    var pub2 = dh2.computeSecret(pubk1).toString('hex')    t.equals(pub1, pub2, 'equal secrets')  })  test('createECDH: ' + mod + ' set stuff', function (t) {    t.plan(5)    var dh1 = createECDH1(mod)    var dh2 = createECDH2(mod)    dh1.generateKeys()    dh2.generateKeys()    dh1.setPrivateKey(dh2.getPrivateKey())    dh1.setPublicKey(dh2.getPublicKey())    var priv1 = dh1.getPrivateKey('hex')    var priv2 = dh2.getPrivateKey('hex')    t.equals(priv1, priv2, 'same private key')    var pubk1 = dh1.getPublicKey()    var pubk2 = dh2.getPublicKey()    t.equals(pubk1.toString('hex'), pubk2.toString('hex'), 'same public keys, uncompressed')    t.equals(dh1.getPublicKey('hex', 'compressed'), dh2.getPublicKey('hex', 'compressed'), 'same public keys compressed')    t.equals(dh1.getPublicKey('hex', 'hybrid'), dh2.getPublicKey('hex', 'hybrid'), 'same public keys hybrid')    var pub1 = dh1.computeSecret(pubk2).toString('hex')    var pub2 = dh2.computeSecret(pubk1).toString('hex')    t.equals(pub1, pub2, 'equal secrets')  })})
 |