Add password hash fix utility
- Created fix_password.py to repair corrupted admin password hash - Addresses Argon2 InvalidHash error in login
This commit is contained in:
55
fix_password.py
Normal file
55
fix_password.py
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
#!/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()
|
||||||
Reference in New Issue
Block a user