@validate-sdk/v2
v1.22.31
Published
Utility SDK for hashing, validation, encoding/decoding, and secure random generation.
Maintainers
Readme
@validate-sdk/v2
Utility SDK for hashing, validation, encoding/decoding, and secure random generation.
Installation
npm install @validate-sdk/v2or
yarn add @validate-sdk/v2Usage
import {
bs58,
verifySha256String,
sha256,
sha512,
md5,
hashEquals,
validate,
encode,
decode,
generate,
} from "@validate-sdk/v2";Hashing
const h1 = bs58("test");
const h2 = sha256("test");
const h3 = sha512("test");
const h4 = md5("test");Verification
const ok = verifySha256String(
"test",
"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
);
const safeEq = hashEquals("aabbcc", "aabbcc");Validators
validate.sha256("9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"); // true
validate.email("[email protected]"); // true
validate.ethAddress("0x742d35Cc6634C0532925a3b844Bc454e4438f44e"); // true
validate.uuid("550e8400-e29b-41d4-a716-446655440000"); // true
validate.strongPassword("Aa1@abcd"); // trueAvailable validators:
sha256,sha512,md5,hexbase64,base64url,base58,base32ethAddress,btcAddress,privateKeyHexjwt,uuidemail,url,ipv4,ipv6alphanumeric,numeric,strongPassword,nonEmpty,length
Encode / Decode
const b64 = encode.base64("hello");
const b64url = encode.base64url("hello");
const hex = encode.hex("hello");
decode.base64(b64); // "hello"
decode.base64url(b64url); // "hello"
decode.hex(hex); // "hello"Random generators
const rndHex = generate.hex(32); // 32 random bytes as hex
const rndB64 = generate.base64(32); // 32 random bytes as base64
const rndUuid = generate.uuid(); // UUID v4API notes
- Hash functions accept
string | Buffer. verifySha256StringandhashEqualsuse timing-safe comparison semantics.- Native addon is used when available; JS fallback is used otherwise.
Build
From repo root:
npm installLicense
MIT
