06e313dcc6
- internal/crypto/password.go: Argon2id с параметрами под 1 vCPU (OWASP), обязательный pepper (HMAC-SHA-256 до Argon2id), разбор формата хэша, NeedsRehash для калибровки параметров - internal/crypto/secretbox.go: AES-256-GCM с версионированным ключом (v1:), разделение мастер-ключа на подключи шифрования и blind index (HMAC-SHA-256), blind index для поиска по email без расшифровки (§9.2) - internal/crypto/tokens.go: opaque-токены сессий (хранится только SHA-256), резервные коды 2FA, нормализация email, политика пароля и username - тесты: соль, pepper, версии ключа, чужие шифротексты, стабильность blind index - go.mod: добавлены chi v5, huma v2, pquerna/otp (подключаются следующими шагами)
18 lines
376 B
Modula-2
18 lines
376 B
Modula-2
module glchat
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
github.com/mattn/go-sqlite3 v1.14.52
|
|
github.com/pressly/goose/v3 v3.28.0
|
|
golang.org/x/crypto v0.55.0
|
|
)
|
|
|
|
require (
|
|
github.com/mfridman/interpolate v0.0.2 // indirect
|
|
github.com/sethvargo/go-retry v0.4.0 // indirect
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
golang.org/x/sync v0.22.0 // indirect
|
|
golang.org/x/sys v0.48.0 // indirect
|
|
)
|