Files
makelore/electron/main/admin-access.ts
inman 22add3f01f
Some checks failed
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled
完善客户端模块与工作区能力
2026-08-13 19:51:02 +08:00

30 lines
778 B
TypeScript

import { timingSafeEqual } from 'node:crypto';
const ADMIN_PASSWORD = 'zhiniankeji666';
let adminSessionUnlocked = false;
function matchesAdminPassword(password: unknown): boolean {
if (typeof password !== 'string') return false;
const received = Buffer.from(password, 'utf8');
const expected = Buffer.from(ADMIN_PASSWORD, 'utf8');
return received.length === expected.length && timingSafeEqual(received, expected);
}
export function verifyAdminPassword(password: unknown): boolean {
const valid = matchesAdminPassword(password);
if (valid) {
adminSessionUnlocked = true;
}
return valid;
}
export function isAdminSessionUnlocked(): boolean {
return adminSessionUnlocked;
}
export function lockAdminSession(): void {
adminSessionUnlocked = false;
}