UNPKG

rionskey-seed

Version:

SEED-128-ECB, SEED-128-CBC Library using RionsKey

42 lines (41 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class libUtil { splitCopy(baseArray, baseStartIndex, targetArray, targetStartIndex, length) { length = length ? length : baseArray.length; let result = targetArray; for (let i = baseStartIndex; i < baseStartIndex + length; i++) result[targetStartIndex++] = baseArray[i]; return result; } xor(Array1, Array2, length) { length = length ? length : 16; let result = new Array(Array1.length); for (let i = 0; i < length; i++) { result[i] = Array1[i] ^ Array2[i]; } return result; } endianConversion(params) { for (let i = 0; i < params.length; i++) { (params[i] >>> 24) | (params[i] << 24) | ((params[i] << 8) & 0x00ff0000) | ((params[i] >>> 8) & 0x0000ff00); } return params; } seedShift(A, shift) { switch (shift) { case 8: return 0x000000ff & (A >>> 8); case 16: return 0x000000ff & (A >>> 16); case 24: return 0x000000ff & (A >>> 24); default: return 0x000000ff & A; } } } exports.default = libUtil;