Instacracker-cli
# Analyze command analyze_parser = subparsers.add_parser('analyze', help='Analyze password strength') analyze_parser.add_argument('--password', required=True, help='Password to analyze')
# Hash crack command crack_parser = subparsers.add_parser('hash', help='Crack a hash') crack_parser.add_argument('--target', required=True, help='Target hash to crack') crack_parser.add_argument('--type', default='md5', help='Hash type (md5, sha1, sha256)') crack_parser.add_argument('--method', choices=['dict', 'brute', 'hybrid'], default='dict', help='Attack method') crack_parser.add_argument('--max-length', type=int, default=5, help='Max length for brute force') crack_parser.add_argument('--wordlist', help='Custom wordlist file') crack_parser.add_argument('-v', '--verbose', action='store_true', help='Verbose output') instacracker-cli
def _check_hash(self, word: str, target_hash: str, hash_type: str) -> bool: """Check if word matches target hash""" hash_func = getattr(hashlib, hash_type, None) if not hash_func: raise ValueError(f"Unsupported hash type: hash_type") computed = hash_func(word.encode()).hexdigest() return computed == target_hash # Analyze command analyze_parser = subparsers
args = parser.parse_args()