PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/sodium-native/test
Просмотр файла: randombytes.js
var tape = require('tape')
var sodium = require('../')
tape('constants', function (assert) {
assert.same(typeof sodium.randombytes_SEEDBYTES, 'number', 'randombytes_SEEDBYTES is number')
assert.end()
})
tape('randombytes_random', function (t) {
for (var i = 0; i < 1e6; i++) {
var n = sodium.randombytes_random()
if (n > 0xffffffff || n < 0) t.fail()
}
t.end()
})
tape('randombytes_uniform', function (t) {
var p = 5381
for (var i = 0; i < 1e6; i++) {
var n = sodium.randombytes_uniform(5381)
if (n >= p || n < 0) t.fail()
}
t.end()
})
tape('randombytes_buf', function (t) {
var buf = null
buf = Buffer.alloc(10)
sodium.randombytes_buf(buf)
t.notEqual(buf, Buffer.alloc(10), 'not blank')
buf = Buffer.alloc(1024)
sodium.randombytes_buf(buf)
t.notEqual(buf, Buffer.alloc(1024), 'large not blank')
t.end()
})
tape('randombytes_deterministic', function (t) {
var seed1 = Buffer.allocUnsafe(sodium.randombytes_SEEDBYTES)
var seed2 = Buffer.allocUnsafe(sodium.randombytes_SEEDBYTES)
var buf1 = Buffer.alloc(10)
var buf2 = Buffer.alloc(10)
for (var i = 0; i < 1e6; i++) {
sodium.randombytes_buf(seed1)
sodium.randombytes_buf(seed2)
sodium.randombytes_buf_deterministic(buf1, seed1)
sodium.randombytes_buf_deterministic(buf2, seed1)
if (!buf1.equals(buf2)) t.fail('should equal')
sodium.randombytes_buf_deterministic(buf1, seed1)
sodium.randombytes_buf_deterministic(buf2, seed2)
if (buf1.equals(buf2)) t.fail('should not equal')
sodium.randombytes_buf_deterministic(buf1, seed2)
sodium.randombytes_buf_deterministic(buf2, seed1)
if (buf1.equals(buf2)) t.fail('should not equal')
sodium.randombytes_buf_deterministic(buf1, seed2)
sodium.randombytes_buf_deterministic(buf2, seed2)
if (!buf1.equals(buf2)) t.fail('should equal')
}
t.end()
})
Выполнить команду
Для локальной разработки. Не используйте в интернете!