UNPKG

she_encrypt

Version:

Cryptographic function for ciphering SHE commands args (M1-M3/M4-M5)

679 lines (602 loc) 106 kB
#!/usr/bin/env node /** * test.ts * */ // Use an IIFE for namespace isolation ((root) => { "use strict"; /*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */ /*global document, window, escape, unescape, module, require, Uint32Array */ const fs = require('fs'); const path = require('path'); const helpstring1 = "67656e65726174655f7368652e6a733a2055736167653a2067656e65726174655f7368652e6a73205b3c4f5054494f4e533e5d203c434f4d4d414e443e205b3c415247554d454e54533e5d0a20202020202020202020202020202020205468697320636f6d6d616e642061696d732061742067656e65726174696e6720534845206d6573736167657320666f72204d4143206b6579732070726f766973692d0a20202020202020202020202020202020206f6e6e696e672e20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a202020202020202020204f5054494f4e533a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020202020202020202d767c2d2d766572626f73652020202020202020202020202020206265206d6f726520766572626f7365207768656e2072756e6e696e672e20557365207365762d200a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020206572616c2074696d657320696e206f7264657220746f20726169736520766572626f736974792e0a20202020202020202020434f4d4d414e44533a202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020202020202020202d687c2d2d68656c70202020202020202020202020202020202020646973706c617920746869732068656c70206d6573736167652e202020202020202020202020200a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020415247554d454e54533a2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020202020202020202d4b7c2d2d69736b6d61632020202020202020202020202020202067656e65726174652061204b6d616320696e7374656164206f66204b6d61737465722e202020200a20202020202020202020202020202020202d6b7c2d2d6b65795b3d5d3c6b6d61633e202020202020202020204b657920746f2062652070726f766973696f6e6e65642e202020202020202020202020202020200a20202020202020202020202020202020202d6d7c2d2d6d61737465725b3d5d3c6b6d61737465723e202020204b6d617374657220746f20636970686572206d6573736167652e202020202020202020202020200a20202020202020202020202020202020202d637c2d2d6369645b3d5d3c6369643e20202020202020202020207468652043494420746f20626520757365642e20202020202020202020202020202020202020200a20202020202020202020202020202020202d437c2d2d6368616e6e656c5b3d5d3c6368616e6e656c3e202020746865206368616e6e656c20746f206265207573656420666f72204b6d61632e202020202020200a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a436f7079726967687420c2a920323032332052454e41554c542047524f5550202f2052c3a96d6920434f48454e205343414c49203c72656d692e636f68656e2d7363616c694072656e61756c742e636f6d3e2020200a"; const helpstring2 = "67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273130333537463032303238394144384635313236363242413938384631313131270a"; var cleanupTimer = undefined; /** * cleanup * * Clean files when tests are terminated */ const cleanup = () => { //try{fs.rmSync("./test.err001.keystore.db")} catch(err) {}; // Cleanup timer itself clearTimeout(cleanupTimer); cleanupTimer.unref(); }; /** * afterEach * * This method call allows to setup the instructions that have to be called after test * execution. It allows to cleanup the directory from all temporary tests files. */ afterEach(() => { if (cleanupTimer !== undefined) cleanupTimer.unref(); cleanupTimer = setTimeout(cleanup, 1000); } ); /** ======================================================================================= * Test suite #1 * * Nominal * ======================================================================================== */ describe('Test suite #1: Nominal tests of generate_she.js', () => { var testKind = "nom"; var testNr = '001'; /** * TGENSHEnom001: * * cmd: * $ node ./bin/generate_she.js -h */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-h" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a2055736167653a2067656e65726174655f7368652e6a73205b3c4f5054494f4e533e5d203c434f4d4d414e443e205b3c415247554d454e54533e5d0a20202020202020202020202020202020205468697320636f6d6d616e642061696d732061742067656e65726174696e6720534845206d6573736167657320666f72204d4143206b6579732070726f766973692d0a20202020202020202020202020202020206f6e6e696e672e20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a202020202020202020204f5054494f4e533a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020202020202020202d767c2d2d766572626f73652020202020202020202020202020206265206d6f726520766572626f7365207768656e2072756e6e696e672e20557365207365762d200a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020206572616c2074696d657320696e206f7264657220746f20726169736520766572626f736974792e0a20202020202020202020434f4d4d414e44533a202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020202020202020202d687c2d2d68656c70202020202020202020202020202020202020646973706c617920746869732068656c70206d6573736167652e202020202020202020202020200a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020415247554d454e54533a2020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a20202020202020202020202020202020202d4b7c2d2d69736b6d61632020202020202020202020202020202067656e65726174652061204b6d616320696e7374656164206f66204b6d61737465722e202020200a20202020202020202020202020202020202d6b7c2d2d6b65795b3d5d3c6b6d61633e202020202020202020204b657920746f2062652070726f766973696f6e6e65642e202020202020202020202020202020200a20202020202020202020202020202020202d6d7c2d2d6d61737465725b3d5d3c6b6d61737465723e202020204b6d617374657220746f20636970686572206d6573736167652e202020202020202020202020200a20202020202020202020202020202020202d637c2d2d6369645b3d5d3c6369643e20202020202020202020207468652043494420746f20626520757365642e20202020202020202020202020202020202020200a20202020202020202020202020202020202d437c2d2d6368616e6e656c5b3d5d3c6368616e6e656c3e202020746865206368616e6e656c20746f206265207573656420666f72204b6d61632e202020202020200a20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020200a436f7079726967687420c2a920323032332052454e41554c542047524f5550202f2052c3a96d6920434f48454e205343414c49203c72656d692e636f68656e2d7363616c694072656e61756c742e636f6d3e2020200a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '002'; /** * TGENSHEnom002: * * cmd: * $ node ./bin/generate_she.js -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863300a4d33202020202020203d2065356339396539653233663439613639356538626438613233386664323237350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037333433663863623462353237333634326639653839633265346334336162610a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863302065356339396539653233663439613639356538626438613233386664323237350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664352037333433663863623462353237333634326639653839633265346334336162610a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '003'; /** * TGENSHEnom003: * * cmd: * $ node ./bin/generate_she.js -K -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-K", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661320a4d33202020202020203d2065623035633231646434336265313330373538356134616163653062613561350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037353265396538313633656431663962393132333165393832306539373063650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661322065623035633231646434336265313330373538356134616163653062613561350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664352037353265396538313633656431663962393132333165393832306539373063650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '004'; /** * TGENSHEnom004: * * cmd: * $ node ./bin/generate_she.js --verbose --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863300a4d33202020202020203d2065356339396539653233663439613639356538626438613233386664323237350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037333433663863623462353237333634326639653839633265346334336162610a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863302065356339396539653233663439613639356538626438613233386664323237350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664352037333433663863623462353237333634326639653839633265346334336162610a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '005'; /** * TGENSHEnom005: * * cmd: * $ node ./bin/generate_she.js --verbose --iskmac --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--iskmac", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a2069736b6d616320282d4b29206f7074696f6e2073656c65637465640a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661320a4d33202020202020203d2065623035633231646434336265313330373538356134616163653062613561350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037353265396538313633656431663962393132333165393832306539373063650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661322065623035633231646434336265313330373538356134616163653062613561350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664352037353265396538313633656431663962393132333165393832306539373063650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '006'; /** * TGENSHEnom006: * * cmd: * $ node ./bin/generate_she.js -v -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-v", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863300a4d33202020202020203d2065356339396539653233663439613639356538626438613233386664323237350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037333433663863623462353237333634326639653839633265346334336162610a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863302065356339396539653233663439613639356538626438613233386664323237350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664352037333433663863623462353237333634326639653839633265346334336162610a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '007'; /** * TGENSHEnom007: * * cmd: * $ node ./bin/generate_she.js -v -K -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-v", "-K", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a2069736b6d616320282d4b29206f7074696f6e2073656c65637465640a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661320a4d33202020202020203d2065623035633231646434336265313330373538356134616163653062613561350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037353265396538313633656431663962393132333165393832306539373063650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661322065623035633231646434336265313330373538356134616163653062613561350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664352037353265396538313633656431663962393132333165393832306539373063650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '008'; /** * TGENSHEnom008: * * cmd: * $ node ./bin/generate_she.js --verbose --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863300a4d33202020202020203d2065356339396539653233663439613639356538626438613233386664323237350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037333433663863623462353237333634326639653839633265346334336162610a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120313064323732363837613635386363303834316565383864313230623765656566356265306237316539663361313061396334663137383838636239663863302065356339396539653233663439613639356538626438613233386664323237350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313134643362643437363362636361653461363034363263626230373731366664352037333433663863623462353237333634326639653839633265346334336162610a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '009'; /** * TGENSHEnom009: * * cmd: * $ node ./bin/generate_she.js --verbose --iskmac --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--iskmac", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a2069736b6d616320282d4b29206f7074696f6e2073656c65637465640a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a4349442020202020203d2033333535343433332028307832303030303031290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661320a4d33202020202020203d2065623035633231646434336265313330373538356134616163653062613561350a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664350a4d35202020202020203d2037353265396538313633656431663962393132333165393832306539373063650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120396235363665373534653066626633656237623030616366663832373738353632613338396438316166356566366230363930663861663235313434366661322065623035633231646434336265313330373538356134616163653062613561350a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343134643362643437363362636361653461363034363263626230373731366664352037353265396538313633656431663962393132333165393832306539373063650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '010'; /** * TGENSHEnom010: * * cmd: * $ node ./bin/generate_she.js -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 -c 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111", "-c", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333300a4d33202020202020203d2039326364386161616265316664353333613733333934333032396361653630630a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2062356465653034363332313337373337646462326237613934356666303931650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333302039326364386161616265316664353333613733333934333032396361653630630a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437312062356465653034363332313337373337646462326237613934356666303931650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '011'; /** * TGENSHEnom011: * * cmd: * $ node ./bin/generate_she.js -K -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 -c 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-K", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111", "-c", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464340a4d33202020202020203d2039666163383665663161386534636231633866363730356331356538363733300a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2038633661623462343561376466373434363138643262353935333764633661350a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464342039666163383665663161386534636231633866363730356331356538363733300a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437312038633661623462343561376466373434363138643262353935333764633661350a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '012'; /** * TGENSHEnom012: * * cmd: * $ node ./bin/generate_she.js --verbose --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 --cid 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111", "--cid", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a67656e65726174655f7368652e6a733a20696e666f3a2043494420282d63292073657420746f20273333353938343133272e0a4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333300a4d33202020202020203d2039326364386161616265316664353333613733333934333032396361653630630a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2062356465653034363332313337373337646462326237613934356666303931650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333302039326364386161616265316664353333613733333934333032396361653630630a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437312062356465653034363332313337373337646462326237613934356666303931650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '013'; /** * TGENSHEnom013: * * cmd: * $ node ./bin/generate_she.js --verbose --iskmac --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 --cid 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--iskmac", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111", "--cid", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a2069736b6d616320282d4b29206f7074696f6e2073656c65637465640a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a67656e65726174655f7368652e6a733a20696e666f3a2043494420282d63292073657420746f20273333353938343133272e0a4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464340a4d33202020202020203d2039666163383665663161386534636231633866363730356331356538363733300a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2038633661623462343561376466373434363138643262353935333764633661350a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464342039666163383665663161386534636231633866363730356331356538363733300a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437312038633661623462343561376466373434363138643262353935333764633661350a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '014'; /** * TGENSHEnom014: * * cmd: * $ node ./bin/generate_she.js -v -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 -c 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-v", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111", "-c", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a67656e65726174655f7368652e6a733a20696e666f3a2043494420282d63292073657420746f20273333353938343133272e0a4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333300a4d33202020202020203d2039326364386161616265316664353333613733333934333032396361653630630a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2062356465653034363332313337373337646462326237613934356666303931650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333302039326364386161616265316664353333613733333934333032396361653630630a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437312062356465653034363332313337373337646462326237613934356666303931650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '015'; /** * TGENSHEnom015: * * cmd: * $ node ./bin/generate_she.js -v -K -k 0153F7000099ED9F320451AA8A7D9707 -m 10357F020289AD8F512662BA988F1111 -c 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "-v", "-K", "-k", "0153F7000099ED9F320451AA8A7D9707", "-m", "10357F020289AD8F512662BA988F1111", "-c", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a2069736b6d616320282d4b29206f7074696f6e2073656c65637465640a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a67656e65726174655f7368652e6a733a20696e666f3a2043494420282d63292073657420746f20273333353938343133272e0a4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464340a4d33202020202020203d2039666163383665663161386534636231633866363730356331356538363733300a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2038633661623462343561376466373434363138643262353935333764633661350a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464342039666163383665663161386534636231633866363730356331356538363733300a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437312038633661623462343561376466373434363138643262353935333764633661350a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '016'; /** * TGENSHEnom016: * * cmd: * $ node ./bin/generate_she.js --verbose --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 --cid 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111", "--cid", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a67656e65726174655f7368652e6a733a20696e666f3a2043494420282d63292073657420746f20273333353938343133272e0a4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303031310a4d32202020202020203d20643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333300a4d33202020202020203d2039326364386161616265316664353333613733333934333032396361653630630a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2062356465653034363332313337373337646462326237613934356666303931650a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030313120643534303135333762313565633664623036626131366635346235663363333532303535373734333633306664326231306431323537313331306136646333302039326364386161616265316664353333613733333934333032396361653630630a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030313139373366666134316461626430376233396131666433313836383833343437312062356465653034363332313337373337646462326237613934356666303931650a"); expect(subproc.stderr.toString('hex')).toBe(""); } ); var testNr = '017'; /** * TGENSHEnom017: * * cmd: * $ node ./bin/generate_she.js --verbose --iskmac --key 0153F7000099ED9F320451AA8A7D9707 --master 10357F020289AD8F512662BA988F1111 --cid 0x200abcd */ test(`TGENSHE${testKind}${testNr}: `, () => { const {spawnSync} = require("node:child_process"); const subproc = spawnSync( "node", [ "./bin/generate_she.js", "--verbose", "--iskmac", "--key", "0153F7000099ED9F320451AA8A7D9707", "--master", "10357F020289AD8F512662BA988F1111", "--cid", "0x200abcd" ], { stdio: [ 0, 'pipe', 'pipe' ] } ); expect(subproc.status).toBe(0x00); expect(subproc.stdout.toString('hex')).toBe("67656e65726174655f7368652e6a733a20696e666f3a20766572626f7369747920282d762920696e6372656173656420746f20310a67656e65726174655f7368652e6a733a20696e666f3a2069736b6d616320282d4b29206f7074696f6e2073656c65637465640a67656e65726174655f7368652e6a733a20696e666f3a206b657920282d6b292073657420746f20273031353346373030303039394544394633323034353141413841374439373037270a67656e65726174655f7368652e6a733a20696e666f3a2073637269707420282d7329207265717565737465640a67656e65726174655f7368652e6a733a20696e666f3a2043494420282d63292073657420746f20273333353938343133272e0a4349442020202020203d2033333539383431332028307832303061626364290a4d31202020202020203d2030303030303030303030303030303030303030303030303030303030303034310a4d32202020202020203d20323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464340a4d33202020202020203d2039666163383665663161386534636231633866363730356331356538363733300a4d34202020202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437310a4d35202020202020203d2038633661623462343561376466373434363138643262353935333764633661350a4d317c4d327c4d33203d20303030303030303030303030303030303030303030303030303030303030343120323933393034623864653062656439643533363065353537613163323031356463316231306235356234656531386336326138653136643464366636373464342039666163383665663161386534636231633866363730356331356538363733300a4d347c4d35202020203d20303030303030303030303030303030303030303030303030303030303030343139373366666134316461626430376233396131666433313836383833343437312038633661623462343561376466373434363138643262353935333764633661350a"); expect(subproc.stderr.toString('hex')).toBe(""); }