# 使用 Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper 安装 john

查看 john 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:john
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install john
```

  证据: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install john
```

  证据: MacPorts ports tree: sysutils/john/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add john
```

  证据: Alpine Linux edge package indexes: john from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install john
```

  证据: Debian stable package indexes: john from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install john
```

  证据: Fedora Rawhide package metadata: john from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#john
```

  证据: nixpkgs package indexes: pkgs/by-name/jo/john/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S john
```

  证据: Arch Linux sync databases: john from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install john
```

  证据: openSUSE Tumbleweed package metadata: john from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## 软件包事实

- **软件包键:** brew:john
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/john>
- **版本:** 1.9.0
- **来源摘要:** Featureful UNIX password cracker
- **主页:** <https://www.openwall.com/john/>
- **上游文档:** <https://www.openwall.com/john/>
- **许可证:** GPL-2.0-or-later
- **源码归档:** <https://www.openwall.com/john/k/john-1.9.0.tar.xz>
- **最后更新:** 2026-06-19T12:31:21-07:00
- **已生成:** 2026-08-04T22:13:35+00:00

## 可执行文件

- unafs (cli)
- unique (cli)
- unshadow (cli)
- unafs (别名)
- unique (别名)
- unshadow (别名)

## macOS 提供的库

- libxcrypt

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-08-04
- 管理器版本: 1.9.0
- 管理器更新时间: 2026-06-19
- 本地数据: OK
- 上游仓库: https://www.openwall.com/john/
- 信息: Release/tag comparison is only available for GitHub repositories.
## 项目历史与用法

John the Ripper is a classic open-source password security auditing and recovery tool. Its core identity is a fast Unix password cracker, but the Openwall documentation also presents it as a cross-platform tool for many Unix-like systems, macOS, Windows, DOS, BeOS, and OpenVMS.

### 项目历史

According to Solar Designer on the Openwall john-users list, John the Ripper 1.0 was released in 1996 as a DOS replacement for Cracker Jack, built with DJGPP and optimized for 486 and Pentium systems. The same account says the incremental-mode prototypes date to 1995, the project became open source in 1997, and the 1.5 rewrite in 1998 formed the basis of later releases.

Openwall's project page separates core John from Jumbo: the core release is the smaller, more conservative line, while Jumbo carries broader community functionality. The openwall/john GitHub repository was created in 2011 and serves the development source referenced from the official homepage.

### 采用历史

John became part of Unix security practice because it automated weak-password detection against common crypt(3) hashes and later gained support for Kerberos/AFS, Windows LM, DES tripcodes, and many additional formats. Openwall notes that John is included in Owl, Debian, Fedora, Gentoo, Mandriva, SUSE, and BSD ports or packages.

Homebrew keeps a separate john formula for the core package, conflicting with john-jumbo so users choose between the conservative package and the enhanced branch.

### 使用方式

The core workflow is to feed John password hashes, let it identify or be told a format, crack with wordlist, single, or incremental modes, and save cracked values to john.pot. Related tools such as unshadow and unique support the Unix password-auditing workflow around the main john executable.

### 为什么软件包爱好者会关心

John is one of the packages that makes Unix security tooling feel like a package-manager canon item: tiny command name, long history, distro ubiquity, and a split between core stability and Jumbo reach. For maintainers, it is also a reminder that packaging security tools means preserving documentation, wordlists, CPU optimizations, and legal/licensing details alongside the executable.

### 时间线

- 1995: Incremental-mode prototypes were written on Unix-like systems.
- 1996: John the Ripper 1.0 was released for DOS.
- 1997: John the Ripper became open source.
- 1998: Version 1.5 rewrote the codebase used by later versions.
- 2002: The code was imported into CVS for further maintenance as part of Owl.
- 2011: The openwall/john GitHub repository was created.
- 2019: Openwall released John the Ripper 1.9.0 core.

### Related projects

- Related projects include John the Ripper Jumbo, John the Ripper Pro, Openwall wordlists, yescrypt, crypt_blowfish, passwdqc, Hash Suite, Hash Suite Droid, and Johnny, the Openwall GUI frontend.

### 来源

- <https://api.github.com/repos/openwall/john>
- <https://formulae.brew.sh/formula/john>
- <https://github.com/openwall/john>
- <https://www.openwall.com/john/>
- <https://www.openwall.com/john/doc/>
- <https://www.openwall.com/lists/john-users/2015/09/10/4>


## 安全说明

credential attack tooling.

- **Geiger 风险:** red / 高
- credential attack tooling

## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** john
- **Version Scheme:** 0
- **Revision:** 1
- **Conflicts With:** john-jumbo
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## 其他软件包管理器记录

- Debian apt - john - 1.9.0-2: normalized package name match | Debian stable package indexes: john from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | active password cracking tool | http://www.openwall.com/john/
- Debian apt - john-data - 1.9.0-2: normalized package name match | Debian stable package indexes: john-data from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | active password cracking tool - character sets | http://www.openwall.com/john/
- Nix - john: normalized package name match | nixpkgs package indexes: pkgs/by-name/jo/john/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - john - 1.9.0-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: john from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | active password cracking tool | http://www.openwall.com/john/
- Ubuntu apt - john-data - 1.9.0-2build1: normalized package name match | Ubuntu 24.04 LTS package indexes: john-data from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | active password cracking tool - character sets | http://www.openwall.com/john/
- apk - john - 1.9.0-r8: normalized package name match | Alpine Linux edge package indexes: john from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | John the Ripper password cracker | https://www.openwall.com/john
- apk - john-bash-completion - 1.9.0-r8: normalized package name match | Alpine Linux edge package indexes: john-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for john | https://www.openwall.com/john
- apk - john-doc - 1.9.0-r8: normalized package name match | Alpine Linux edge package indexes: john-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | John the Ripper password cracker (documentation) | https://www.openwall.com/john
- apk - john-zsh-completion - 1.9.0-r8: normalized package name match | Alpine Linux edge package indexes: john-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for john | https://www.openwall.com/john
- dnf - john - 1.9.0-12.fc43: normalized package name match | Fedora Rawhide package metadata: john from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | John the Ripper password cracker | https://www.openwall.com/john
- pacman - john - 1.9.0.jumbo1-13: normalized package name match | Arch Linux sync databases: john from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | John the Ripper password cracker | https://www.openwall.com/john
- zypper - john - 1.9.0-9.14: normalized package name match | openSUSE Tumbleweed package metadata: john from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Utility to detect weak passwords | https://www.openwall.com/john/
- MacPorts - john: normalized package name match | MacPorts ports tree: sysutils/john/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- dnf - unique - 1.1.6-38.fc45: installed executable or alias match | Fedora Rawhide package metadata: unique from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Single instance support for applications | http://www.gnome.org/~ebassi/source/
- dnf - unique-devel - 1.1.6-38.fc45: installed executable or alias match | Fedora Rawhide package metadata: unique-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/210a2053c8e007daf9ae39c2a21daaed9b2ddd07d63ecffa597050361e73650c-primary.xml.zst | Libraries and headers for Unique | http://www.gnome.org/~ebassi/source/


## 相关链接

- [Secret-risk packages](https://pkg.so/zh-hans/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://pkg.so/zh-hans/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://pkg.so/zh-hans/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://pkg.so/zh-hans/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [john-jumbo](https://pkg.so/zh-hans/brew/john-jumbo/) - Shares the same upstream homepage.
- [pwgen](https://pkg.so/zh-hans/brew/pwgen/) - Shares pkgdb curated category or tags: cli, security, unix.
- [chkrootkit](https://pkg.so/zh-hans/brew/chkrootkit/) - Shares pkgdb curated category or tags: cli, security, unix.
- [duo_unix](https://pkg.so/zh-hans/brew/duo-unix/) - Shares pkgdb curated category or tags: cli, security, unix.
- [jailkit](https://pkg.so/zh-hans/brew/jailkit/) - Shares pkgdb curated category or tags: cli, security, unix.
- [gnutls](https://pkg.so/zh-hans/brew/gnutls/) - Shares pkgdb curated category or tags: cli, security.
- [krb5](https://pkg.so/zh-hans/brew/krb5/) - Shares pkgdb curated category or tags: cli, security.
- [nettle](https://pkg.so/zh-hans/brew/nettle/) - Shares pkgdb curated category or tags: cli, security.
- [passwdqc](https://pkg.so/zh-hans/brew/passwdqc/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, password, security.

## Combined YAML source

View the package source record on GitHub. [combined/john.yml](https://github.com/mxcl/pkgdb/blob/main/combined/john.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- pkgdb category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
