init
This commit is contained in:
+71
@@ -0,0 +1,71 @@
|
||||
import { createHash } from "./crypto.js";
|
||||
import { getBytes, hexlify } from "../utils/index.js";
|
||||
const _sha256 = function (data) {
|
||||
return createHash("sha256").update(data).digest();
|
||||
};
|
||||
const _sha512 = function (data) {
|
||||
return createHash("sha512").update(data).digest();
|
||||
};
|
||||
let __sha256 = _sha256;
|
||||
let __sha512 = _sha512;
|
||||
let locked256 = false, locked512 = false;
|
||||
/**
|
||||
* Compute the cryptographic SHA2-256 hash of %%data%%.
|
||||
*
|
||||
* @_docloc: api/crypto:Hash Functions
|
||||
* @returns DataHexstring
|
||||
*
|
||||
* @example:
|
||||
* sha256("0x")
|
||||
* //_result:
|
||||
*
|
||||
* sha256("0x1337")
|
||||
* //_result:
|
||||
*
|
||||
* sha256(new Uint8Array([ 0x13, 0x37 ]))
|
||||
* //_result:
|
||||
*
|
||||
*/
|
||||
export function sha256(_data) {
|
||||
const data = getBytes(_data, "data");
|
||||
return hexlify(__sha256(data));
|
||||
}
|
||||
sha256._ = _sha256;
|
||||
sha256.lock = function () { locked256 = true; };
|
||||
sha256.register = function (func) {
|
||||
if (locked256) {
|
||||
throw new Error("sha256 is locked");
|
||||
}
|
||||
__sha256 = func;
|
||||
};
|
||||
Object.freeze(sha256);
|
||||
/**
|
||||
* Compute the cryptographic SHA2-512 hash of %%data%%.
|
||||
*
|
||||
* @_docloc: api/crypto:Hash Functions
|
||||
* @returns DataHexstring
|
||||
*
|
||||
* @example:
|
||||
* sha512("0x")
|
||||
* //_result:
|
||||
*
|
||||
* sha512("0x1337")
|
||||
* //_result:
|
||||
*
|
||||
* sha512(new Uint8Array([ 0x13, 0x37 ]))
|
||||
* //_result:
|
||||
*/
|
||||
export function sha512(_data) {
|
||||
const data = getBytes(_data, "data");
|
||||
return hexlify(__sha512(data));
|
||||
}
|
||||
sha512._ = _sha512;
|
||||
sha512.lock = function () { locked512 = true; };
|
||||
sha512.register = function (func) {
|
||||
if (locked512) {
|
||||
throw new Error("sha512 is locked");
|
||||
}
|
||||
__sha512 = func;
|
||||
};
|
||||
Object.freeze(sha256);
|
||||
//# sourceMappingURL=sha2.js.map
|
||||
Reference in New Issue
Block a user