rionskey-seed
Version:
SEED-128-ECB, SEED-128-CBC Library using RionsKey
42 lines (41 loc) • 1.32 kB
JavaScript
;
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;