@iota/kerl
Version:
IOTA-related cryptographic methods
20 lines • 1.02 kB
JavaScript
;
exports.__esModule = true;
var converter_1 = require("@iota/converter");
var ava_1 = require("ava");
var src_1 = require("../src");
ava_1["default"]('Kerl: absorb()/squeeze(), Converter: trits()/trytes()', function (t) {
var input = 'GYOMKVTSNHVJNCNFBBAH9AAMXLPLLLROQY99QN9DLSJUHDPBLCFFAIQXZA9BKMBJCYSFHFPXAHDWZFEIZ';
var expected = 'OXJCNFHUNAHWDLKKPELTBFUCVW9KLXKOGWERKTJXQMXTKFKNWNNXYD9DMJJABSEIONOSJTTEVKVDQEWTW';
var absorbSqueeze = function (inputTrytes) {
var inputTrits = converter_1.trits(inputTrytes);
var kerl = new src_1["default"]();
kerl.initialize();
kerl.absorb(inputTrits, 0, inputTrits.length);
var hashTrits = new Int8Array(src_1["default"].HASH_LENGTH);
kerl.squeeze(hashTrits, 0, src_1["default"].HASH_LENGTH);
return converter_1.trytes(hashTrits);
};
t.is(absorbSqueeze(input), expected, 'Kerl should produce correct hash for absorb/squeeze case.');
});
//# sourceMappingURL=kerl.absorb-squeeze.test.js.map