# openwall/john

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/openwall-john).**

13,268 stars · 2,506 forks · C · NOASSERTION

## Links

- GitHub: https://github.com/openwall/john
- Homepage: https://www.openwall.com/john/
- awesome-repositories: https://awesome-repositories.com/repository/openwall-john.md

## Topics

`assembler` `c` `cracker` `crypt` `fpga` `gpgpu` `gpu` `hash` `john` `jtr` `mpi` `opencl` `openmp` `password` `ripper` `simd`

## Description

John is a command-line security utility designed for password strength auditing and cryptographic hash recovery. It functions as a professional tool for identifying weak user credentials and recovering access to protected files, archives, and private keys across various operating systems, databases, and applications.

The software distinguishes itself through a high-performance architecture that utilizes processor-level vector instructions to perform parallel cryptographic operations. It incorporates a rule-based mutation engine that transforms dictionary words into complex candidates based on human typing patterns, alongside a modular plugin system that supports a wide range of hash formats and encryption algorithms.

To manage large-scale operations, the tool employs multi-threaded work stealing to distribute computational loads across CPU cores and uses memory-mapped file processing to handle extensive wordlists efficiently. It also includes state-preserving checkpoint recovery to ensure that long-running sessions can be resumed after interruptions. These capabilities support diverse requirements in digital forensics, security vulnerability assessments, and data recovery workflows.

## Tags

### Security & Cryptography

- [Hash Cracking Tools](https://awesome-repositories.com/f/security-cryptography/security/utilities/security-tools/cryptographic-management-tools/hash-cracking-tools.md) — Provides a command-line utility for testing password strength and recovering lost credentials by performing high-speed dictionary and brute-force attacks.
- [Strength Analyzers](https://awesome-repositories.com/f/security-cryptography/password-management/strength-analyzers.md) — Tests user passwords against common attack patterns to identify weak credentials across operating systems, databases, and web applications. ([source](https://www.openwall.com/john/))
- [Data Encryption](https://awesome-repositories.com/f/security-cryptography/data-encryption.md) — Recovers access to encrypted files and archives by testing potential passwords against industry standard encryption algorithms. ([source](https://www.openwall.com/john/))
- [Cryptographic Hash Computations](https://awesome-repositories.com/f/security-cryptography/security/cryptography-and-secrets/cryptographic-primitives-management/cryptographic-hash-computations.md) — Tests potential passwords against industry-standard encryption algorithms to restore access to protected files, archives, and private keys.
- [Security Testing and Auditing](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing.md) — Identifies weak user credentials and vulnerable encryption implementations across operating systems, databases, and web applications.
- [Vulnerability Assessment and Testing](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing.md) — Identifies insecure authentication configurations and weak password policies by simulating real-world attacks on system hashes.
- [Digital Forensics](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/digital-forensics.md) — Analyzes password-protected evidence and encrypted containers during security investigations to extract sensitive information.

### Data & Databases

- [Security Utilities](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/data-parsing/simd-parsers/simd-accelerated-data-processors/security-utilities.md) — Utilizes processor-level vector instructions to perform parallel cryptographic operations for rapid password strength assessment and data recovery.
- [Cryptographic Accelerators](https://awesome-repositories.com/f/data-databases/vectorized-arithmetic/simd-accelerated-arithmetic/cryptographic-accelerators.md) — Utilizes processor-level vector instructions to perform multiple cryptographic operations in parallel for significantly increased throughput.

### System Administration & Monitoring

- [Mutation Engines](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/rule-based-alerting-engines/mutation-engines.md) — Applies user-defined transformations to dictionary words to generate complex password candidates based on human typing patterns.
