Initial
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
"""
|
||||
Test script to demonstrate password hashing and verification
|
||||
"""
|
||||
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
|
||||
# Example: Creating a hashed password
|
||||
plain_password = "mySecurePassword123"
|
||||
hashed_password = generate_password_hash(plain_password, method='pbkdf2:sha256')
|
||||
|
||||
print("=" * 60)
|
||||
print("PASSWORD HASHING DEMONSTRATION")
|
||||
print("=" * 60)
|
||||
print()
|
||||
print(f"Original Password: {plain_password}")
|
||||
print()
|
||||
print(f"Hashed Password: {hashed_password}")
|
||||
print()
|
||||
print(f"Hash Length: {len(hashed_password)} characters")
|
||||
print()
|
||||
print("=" * 60)
|
||||
print("SECURITY FEATURES")
|
||||
print("=" * 60)
|
||||
print("✓ Algorithm: PBKDF2-SHA256")
|
||||
print("✓ Iterations: 600,000+")
|
||||
print("✓ Unique salt per password")
|
||||
print("✓ Cannot be reversed to plain text")
|
||||
print("✓ Industry-standard security")
|
||||
print()
|
||||
print("=" * 60)
|
||||
print("PASSWORD VERIFICATION TEST")
|
||||
print("=" * 60)
|
||||
print()
|
||||
|
||||
# Test correct password
|
||||
correct = check_password_hash(hashed_password, "mySecurePassword123")
|
||||
print(f"Testing correct password: {correct} ✓")
|
||||
|
||||
# Test incorrect password
|
||||
incorrect = check_password_hash(hashed_password, "wrongPassword")
|
||||
print(f"Testing incorrect password: {incorrect} ✗")
|
||||
print()
|
||||
|
||||
# Show that the same password produces different hashes (due to unique salts)
|
||||
print("=" * 60)
|
||||
print("UNIQUE SALT DEMONSTRATION")
|
||||
print("=" * 60)
|
||||
print()
|
||||
print("Hashing the same password twice produces different hashes:")
|
||||
print()
|
||||
hash1 = generate_password_hash("password123", method='pbkdf2:sha256')
|
||||
hash2 = generate_password_hash("password123", method='pbkdf2:sha256')
|
||||
print(f"Hash 1: {hash1}")
|
||||
print(f"Hash 2: {hash2}")
|
||||
print()
|
||||
print(f"Are they different? {hash1 != hash2}")
|
||||
print("Both hashes are valid and will verify correctly!")
|
||||
print(f"Hash 1 verifies: {check_password_hash(hash1, 'password123')}")
|
||||
print(f"Hash 2 verifies: {check_password_hash(hash2, 'password123')}")
|
||||
print()
|
||||
Reference in New Issue
Block a user