Auth/UI: Argon2id derivation для login/register + блок Расширенные

This commit is contained in:
AidarKC
2026-05-13 02:10:42 +03:00
parent 8de4e95c6a
commit b55fd1571e
6 changed files with 107 additions and 12 deletions
+12 -1
View File
@@ -33,6 +33,17 @@ export function render({ navigate }) {
formError.className = 'status-line is-unavailable';
formError.style.display = 'none';
const advanced = document.createElement('details');
advanced.className = 'card stack';
advanced.innerHTML = `
<summary>Расширенные</summary>
<p class="meta-muted">Схема derivation ключей: при непустом пароле используется Argon2id (средний профиль), затем из результата строится секрет для root/bch/dev ключей.</p>
<p class="meta-muted">В derivation участвуют и логин, и пароль: одинаковый пароль у разных логинов даёт разные ключи.</p>
<p class="meta-muted">Если пароль пустой — используется прежний тестовый режим совместимости (старый детерминированный вариант).</p>
<p class="meta-muted">Для тесто оставьте пустой пароль.</p>
<p class="meta-muted">Профиль Argon2id сейчас фиксированный: t=3, m=262144 KiB (256 MB), p=1, dkLen=32. Выбор уровня будет добавлен позже.</p>
`;
const checkButton = document.createElement('button');
checkButton.className = 'ghost-btn';
checkButton.type = 'button';
@@ -73,7 +84,7 @@ export function render({ navigate }) {
`;
form.children[0].append(loginInput);
form.children[1].append(passwordInput);
form.append(checkButton, statusText, formError);
form.append(checkButton, statusText, advanced, formError);
const actions = document.createElement('div');
actions.className = 'auth-footer-actions';