Public Source Viewer

비나래아카이브 개발자 포털

실제 서비스 구조를 살펴볼 수 있는 공개용 코드 뷰어입니다. 인증, 세션, 외부 연동, 토큰, 관리자 식별 등 보안상 민감한 구현은 파일 단위 또는 줄 단위로 검열됩니다.

Redacted View
src/utils/password.ts
공개 가능
1 import { randomBytes, scryptSync, timingSafeEqual } from 'crypto';
2
3 const KEY_LENGTH = 64;
4
5 [SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
6 const salt = randomBytes(16).toString('hex');
7 [SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
8 return `scrypt$${salt}$${hash}`;
9 }
10
11 [SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
12 return value.startsWith('scrypt$');
13 }
14
15 [SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
16 [SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
17 [SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
18 }
19
20 const [, salt, hashHex] = stored.split('$');
21 if (!salt || !hashHex) return false;
22 [SECURITY REDACTED] 민감한 설정/인증/토큰 관련 코드입니다.
23 const storedHash = Buffer.from(hashHex, 'hex');
24 return storedHash.length === derived.length && timingSafeEqual(storedHash, derived);
25 }
26