Files
ircquotes/fix_password.py
ComputerTech312 36e0ab9a88 Add password hash fix utility
- Created fix_password.py to repair corrupted admin password hash
- Addresses Argon2 InvalidHash error in login
2025-09-20 20:25:54 +01:00

55 lines
1.4 KiB
Python

#!/usr/bin/env python3
"""
Fix corrupted admin password hash in config.json
"""
import json
from argon2 import PasswordHasher
import getpass
def fix_admin_password():
"""Fix the corrupted admin password hash"""
print("Current admin password hash appears to be corrupted.")
print("Let's generate a new one...")
# Get new password
password = getpass.getpass("Enter new admin password: ")
confirm = getpass.getpass("Confirm password: ")
if password != confirm:
print("Passwords don't match!")
return
# Generate new hash
ph = PasswordHasher()
new_hash = ph.hash(password)
# Load current config
try:
with open('config.json', 'r') as f:
config = json.load(f)
except Exception as e:
print(f"Error reading config.json: {e}")
return
# Update the password hash
if 'admin' not in config:
config['admin'] = {}
config['admin']['password_hash'] = new_hash
# Save config
try:
with open('config.json', 'w') as f:
json.dump(config, f, indent=2)
print("\nPassword hash updated successfully!")
print(f"New hash: {new_hash}")
print("\nRestart the application for changes to take effect.")
except Exception as e:
print(f"Error saving config.json: {e}")
if __name__ == "__main__":
fix_admin_password()