@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
50 lines (49 loc) • 1.58 kB
JavaScript
import { hash as cryptoHash } from 'node:crypto';
export function md5(s, outputEncoding = 'hex') {
return hash(s, 'md5', outputEncoding);
}
export function md5AsBuffer(s) {
return hashAsBuffer(s, 'md5');
}
export function sha256(s, outputEncoding = 'hex') {
return hash(s, 'sha256', outputEncoding);
}
export function sha256AsBuffer(s) {
return hashAsBuffer(s, 'sha256');
}
export function hash(s, algorithm, outputEncoding = 'hex') {
return cryptoHash(algorithm, s, outputEncoding);
}
export function hashAsBuffer(s, algorithm) {
return cryptoHash(algorithm, s, 'buffer');
}
export function base64(s) {
return (typeof s === 'string' ? Buffer.from(s) : s).toString('base64');
}
export function base64Url(s) {
return (typeof s === 'string' ? Buffer.from(s) : s).toString('base64url');
}
export function base64ToString(strBase64) {
return Buffer.from(strBase64, 'base64').toString('utf8');
}
export function base64UrlToString(strBase64Url) {
return Buffer.from(strBase64Url, 'base64url').toString('utf8');
}
export function base64ToBuffer(strBase64) {
return Buffer.from(strBase64, 'base64');
}
export function base64UrlToBuffer(strBase64Url) {
return Buffer.from(strBase64Url, 'base64url');
}
export function stringToBase64(s) {
return Buffer.from(s, 'utf8').toString('base64');
}
export function stringToBase64Url(s) {
return Buffer.from(s, 'utf8').toString('base64url');
}
export function bufferToBase64(b) {
return b.toString('base64');
}
export function bufferToBase64Url(b) {
return b.toString('base64url');
}