#!/usr/bin/env python3 """ 测试 BCrypt 的不同 strength 参数 """ import bcrypt def test_different_strengths(): password = "admin123" # 测试不同的 strength 值 strengths = [4, 6, 8, 10, 12, 14, 16] for strength in strengths: print(f"\n=== Testing strength={strength} ===") hash_result = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt(strength)) print(f"Hash: {hash_result.decode('utf-8')}") print(f"Length: {len(hash_result)}") # 检查哈希格式 hash_str = hash_result.decode('utf-8') parts = hash_str.split('$') if len(parts) >= 3: print(f"Algorithm: {parts[1]}") # 应该是 2a 或 2b print(f"Strength: {parts[2][:2]}") # 应该是 strength 值 # 验证密码 is_valid = bcrypt.checkpw(password.encode('utf-8'), hash_result) print(f"Password matches: {is_valid}") if __name__ == '__main__': test_different_strengths()