PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/sodium-native/test

Просмотр файла: crypto_scalarmult.js

var tape = require('tape')
var sodium = require('../')

tape('crypto_scalarmult_base', function (t) {
  var keys = keyPair()

  t.notEqual(keys.secretKey, Buffer.alloc(keys.secretKey.length), 'secret key not blank')
  t.notEqual(keys.publicKey, Buffer.alloc(keys.publicKey.length), 'public key not blank')
  t.end()
})

tape('crypto_scalarmult', function (t) {
  var peer1 = keyPair()
  var peer2 = keyPair()

  t.notEqual(peer1.secretKey, peer2.secretKey, 'diff secret keys')
  t.notEqual(peer1.publicKey, peer2.publicKey, 'diff public keys')

  var shared1 = Buffer.alloc(sodium.crypto_scalarmult_BYTES)
  var shared2 = Buffer.alloc(sodium.crypto_scalarmult_BYTES)

  sodium.crypto_scalarmult(shared1, peer1.secretKey, peer2.publicKey)
  sodium.crypto_scalarmult(shared2, peer2.secretKey, peer1.publicKey)

  t.same(shared1, shared2, 'same shared secret')

  t.end()
})

function keyPair () {
  var secretKey = Buffer.alloc(sodium.crypto_scalarmult_SCALARBYTES)
  sodium.randombytes_buf(secretKey)

  var publicKey = Buffer.alloc(sodium.crypto_scalarmult_BYTES)
  sodium.crypto_scalarmult_base(publicKey, secretKey)

  return {
    publicKey: publicKey,
    secretKey: secretKey
  }
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!