/
DnTyr
/
Password-Development
Обзор
Документация
Войти
/
DnTyr
/
Password-Development
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
frontend/src/utils/passwordUtils.js
53 строки
2 KB
DT
first_commit
03 июн 2026, 10:22
03 июн 2026, 10:22
357cb35
Код
Авторство
О чём код?
export function getColor(strength) { if (strength === "Очень низкий") return "#dd0000"; if (strength === "Низкий") return "#d9534f"; if (strength === "Средний") return "#f0ad4e"; if (strength === "Надежный") return "#5cb85c"; if (strength === "Криптостойкий") return "#936dbb"; return "var(--text)"; } export function getProgress(entropy) { const value = Number(entropy); if (!Number.isFinite(value) || value <= 0) return 0; return Math.min((value / 100) * 100, 100); } export function calculateCrackTimeSeconds(entropy) { const value = Number(entropy); if (!Number.isFinite(value) || value <= 0) return 0; const guessesPerSecond = 1e12; return Math.pow(2, value) / guessesPerSecond; } export function getStrengthByTime(seconds) { const value = Number(seconds); if (!Number.isFinite(value) || value <= 0) { return "Очень низкий"; } if (value < 3600) return "Очень низкий"; // < 1 час if (value < 86400) return "Низкий"; // < 24 часа if (value < 31536000) return "Средний"; // < 1 год if (value < 3153600000) return "Надежный"; // < 100 лет return "Криптостойкий"; } export function formatCrackTime(seconds, t) { const value = Number(seconds); if (!Number.isFinite(value) || value <= 0) return t("мгновенно"); if (value < 60) return t("менее минуты"); if (value < 3600) return Math.floor(value / 60) + t(" мин."); if (value < 86400) return Math.floor(value / 3600) + t(" ч."); if (value < 31536000) return Math.floor(value / 86400) + t(" дн."); const years = value / 31536000; if (years > 1e9) return t("миллиарды лет"); if (years > 1e6) return Math.floor(years / 1e6) + t(" млн. лет"); return Math.floor(years) + t(" лет"); }