#!/bin/bash USERS_FILE="../data/users.json" # Ввод логина read -p "Enter username: " username read -s -p "Enter password: " password echo # SHA-256 хэш hash=$(echo -n "$password" | sha256sum | awk '{print $1}') # Создаём пустой массив, если файл отсутствует или пустой if [[ ! -s "$USERS_FILE" ]]; then echo "[]" > "$USERS_FILE" fi # Проверка существующего пользователя if jq --exit-status ".[] | select(.Login==\"$username\")" "$USERS_FILE" >/dev/null; then # Обновляем пароль jq --arg u "$username" --arg h "$hash" 'map(if .Login==$u then .PasswordHash=$h else . end)' "$USERS_FILE" > tmp.json mv tmp.json "$USERS_FILE" echo "✅ Updated password for user '$username'" else # Добавляем нового пользователя jq --arg u "$username" --arg h "$hash" '. + [{"Login":$u,"PasswordHash":$h}]' "$USERS_FILE" > tmp.json mv tmp.json "$USERS_FILE" echo "✅ Added new user '$username'" fi