UNPKG

@iota/kerl

Version:

IOTA-related cryptographic methods

20 lines 1.24 kB
"use strict"; 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