@iota/kerl
Version:
IOTA-related cryptographic methods
20 lines • 1.24 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: multi-absorb()/multi-squeeze(), Converter: trits()/trytes()', function (t) {
var input = 'G9JYBOMPUXHYHKSNRNMMSSZCSHOFYOYNZRSZMAAYWDYEIMVVOGKPJBVBM9TDPULSFUNMTVXRKFIDOHUXXVYDLFSZYZTWQYTE9SPYYWYTXJYQ9IFGYOLZXWZBKWZN9QOOTBQMWMUBLEWUEEASRHRTNIQWJQNDWRYLCA';
var expected = 'LUCKQVACOGBFYSPPVSSOXJEKNSQQRQKPZC9NXFSMQNRQCGGUL9OHVVKBDSKEQEBKXRNUJSRXYVHJTXBPDWQGNSCDCBAIRHAQCOWZEBSNHIJIGPZQITIBJQ9LNTDIBTCQ9EUWKHFLGFUVGGUWJONK9GBCDUIMAYMMQX';
var multiAbsorbMultiSqueeze = 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 * 2);
kerl.squeeze(hashTrits, 0, src_1["default"].HASH_LENGTH * 2);
return converter_1.trytes(hashTrits);
};
t.is(multiAbsorbMultiSqueeze(input), expected, 'Kerl should produce correct hash for multi-absorb/multi-squeeze case.');
});
//# sourceMappingURL=kerl.multi-absorb-multi-squeeze.test.js.map