mcphub / src /utils /passwordValidation.ts
m19921414377's picture
Upload folder using huggingface_hub
07af8f3 verified
/**
* Password strength validation utility
* Requirements:
* - At least 8 characters
* - Contains at least one letter
* - Contains at least one number
* - Contains at least one special character
*/
export interface PasswordValidationResult {
isValid: boolean;
errors: string[];
}
export const validatePasswordStrength = (password: string): PasswordValidationResult => {
const errors: string[] = [];
// Check minimum length
if (password.length < 8) {
errors.push('Password must be at least 8 characters long');
}
// Check for at least one letter
if (!/[a-zA-Z]/.test(password)) {
errors.push('Password must contain at least one letter');
}
// Check for at least one number
if (!/\d/.test(password)) {
errors.push('Password must contain at least one number');
}
// Check for at least one special character
if (!/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(password)) {
errors.push('Password must contain at least one special character');
}
return {
isValid: errors.length === 0,
errors,
};
};
/**
* Check if a password is the default password (admin123)
*/
export const isDefaultPassword = (plainPassword: string): boolean => {
return plainPassword === 'admin123';
};