12345678910111213141516171819202122232425262728 |
- /**
- * Created by bmf on 07/25/16.
- */
- var assert = require('assert');
- var sodium = require('../build/Release/sodium');
- describe("Auth5", function() {
- var key = Buffer.alloc(32);
- it("Test random vectors", function(done) {
- for (var clen = 0; clen < 1000; ++clen) {
- sodium.randombytes_buf(key);
- c = Buffer.allocUnsafe(clen);
- sodium.randombytes_buf(c);
- var a = sodium.crypto_auth(c, key);
- assert.equal(sodium.crypto_auth_verify(a, c, key), 0);
- if( clen>0) {
- c[sodium.randombytes_uniform(clen)] += 1 + (sodium.randombytes_uniform(255));
- assert.notEqual(sodium.crypto_auth_verify(a, c, key), 0);
- a[sodium.randombytes_uniform(a.length)] += 1 + (sodium.randombytes_uniform(255));
- assert.notEqual(sodium.crypto_auth_verify(a, c, key), 0);
- }
- }
- done();
- });
- });
|