mirror of https://github.com/openclaw/openclaw.git
15 lines
497 B
TypeScript
15 lines
497 B
TypeScript
import crypto from "node:crypto";
|
|
|
|
export function sha256HexPrefix(value: string, len = 12): string {
|
|
const safeLen = Number.isFinite(len) ? Math.max(1, Math.floor(len)) : 12;
|
|
return crypto.createHash("sha256").update(value).digest("hex").slice(0, safeLen);
|
|
}
|
|
|
|
export function redactIdentifier(value: string | undefined, opts?: { len?: number }): string {
|
|
const trimmed = value?.trim();
|
|
if (!trimmed) {
|
|
return "-";
|
|
}
|
|
return `sha256:${sha256HexPrefix(trimmed, opts?.len ?? 12)}`;
|
|
}
|