All the methods below return a Buffer
that created with Buffer.from(<ArrayBuffer>)
. But RunKit displays Uint8Array
instead of Buffer
for some of the return values. I know that Buffer
extend
s (inherits from) Uint8Array
and I hate this inconsistency. I want to know the reason why RunKit is working in such a manner and want it to be fixed.
const SHA2 = require("sha2");
const input = "RunKit";
console.log(SHA2.sha224(input)); // Uint8Array <995121D5308608FDD9010C144572…>
console.log(SHA2.sha256(input)); // Uint8Array <34D87C104EAFA4F2AB9C1DE183FA…>
console.log(SHA2.sha384(input)); // Uint8Array <34E4BD4057F0FCA6E9A1712A6124…>
console.log(SHA2.sha512(input)); // Uint8Array <5E1524B5E36A7EDC30BB1497C1B8…>
console.log(SHA2.sha512_224(input)); // Buffer <A7EFE64AF983FB678ACBDEE406072F…>
console.log(SHA2.sha512_256(input)); // Buffer <18EB999808D6CC5B52191F79CD1576…>
console.log(SHA2.sha512_t(80, input)); // Buffer <2626982C7F4477C2B13E>
console.log(Buffer.isBuffer(SHA2.sha224(input))); // true
console.log(Buffer.isBuffer(SHA2.sha256(input))); // true
console.log(Buffer.isBuffer(SHA2.sha384(input))); // true
console.log(Buffer.isBuffer(SHA2.sha512(input))); // true
console.log(Buffer.isBuffer(SHA2.sha512_224(input))); // true
console.log(Buffer.isBuffer(SHA2.sha512_256(input))); // true
console.log(Buffer.isBuffer(SHA2.sha512_t(80, input))); // true