mirror of
https://github.com/ente-io/ente.git
synced 2025-06-05 16:41:20 +00:00
30 lines
832 B
TypeScript
30 lines
832 B
TypeScript
import { PasswordStrength } from "@ente/accounts/constants";
|
|
import zxcvbn from "zxcvbn";
|
|
|
|
export const convertBufferToBase64 = (buffer: Buffer) => {
|
|
return buffer.toString("base64");
|
|
};
|
|
|
|
export const convertBase64ToBuffer = (base64: string) => {
|
|
return Buffer.from(base64, "base64");
|
|
};
|
|
|
|
export function estimatePasswordStrength(password: string): PasswordStrength {
|
|
if (!password) {
|
|
return PasswordStrength.WEAK;
|
|
}
|
|
|
|
const zxcvbnResult = zxcvbn(password);
|
|
if (zxcvbnResult.score < 2) {
|
|
return PasswordStrength.WEAK;
|
|
} else if (zxcvbnResult.score < 3) {
|
|
return PasswordStrength.MODERATE;
|
|
} else {
|
|
return PasswordStrength.STRONG;
|
|
}
|
|
}
|
|
|
|
export const isWeakPassword = (password: string) => {
|
|
return estimatePasswordStrength(password) === PasswordStrength.WEAK;
|
|
};
|