@iota/kerl
Version:
IOTA-related cryptographic methods
20 lines • 1.14 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()/multi-squeeze(), Converter: trits()/trytes()', function (t) {
var input = '9MIDYNHBWMBCXVDEFOFWINXTERALUKYYPPHKP9JJFGJEIUY9MUDVNFZHMMWZUYUSWAIOWEVTHNWMHANBH';
var expected = 'G9JYBOMPUXHYHKSNRNMMSSZCSHOFYOYNZRSZMAAYWDYEIMVVOGKPJBVBM9TDPULSFUNMTVXRKFIDOHUXXVYDLFSZYZTWQYTE9SPYYWYTXJYQ9IFGYOLZXWZBKWZN9QOOTBQMWMUBLEWUEEASRHRTNIQWJQNDWRYLCA';
var absorbMultiSqueeze = 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(absorbMultiSqueeze(input), expected, 'Kerl should produce correct hash for absorb/multi-squeeze case.');
});
//# sourceMappingURL=kerl.absorb-multi-squeeze.test.js.map