tl-shared-security
Version:
Enterprise-grade security module for frontend and backend applications with comprehensive protection against XSS, CSRF, SQL injection, and other security vulnerabilities
40 lines • 1.4 kB
TypeScript
export interface PasswordPolicyOptions {
minLength?: number;
requireUppercase?: boolean;
requireLowercase?: boolean;
requireNumbers?: boolean;
requireSpecialChars?: boolean;
maxRepeatingChars?: number;
disallowCommonPasswords?: boolean;
disallowContextSpecificWords?: boolean;
contextSpecificWords?: string[];
}
export interface PasswordValidationResult {
isValid: boolean;
errors: string[];
}
export declare class PasswordPolicyService {
private readonly defaultOptions;
private readonly commonPasswords;
/**
* Validates a password against the policy
* @param password - Password to validate
* @param options - Password policy options
* @returns Validation result
*/
validate(password: string, options?: PasswordPolicyOptions): PasswordValidationResult;
/**
* Generates a password strength score (0-100)
* @param password - Password to evaluate
* @returns Strength score (0-100)
*/
calculateStrength(password: string): number;
/**
* Gets a strength label based on the score
* @param score - Strength score (0-100)
* @returns Strength label
*/
getStrengthLabel(score: number): 'very weak' | 'weak' | 'moderate' | 'strong' | 'very strong';
}
export declare const passwordPolicyService: PasswordPolicyService;
//# sourceMappingURL=password-policy.service.d.ts.map