docs.rs failed to build shaha-0.2.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
shaha-0.2.0
shaha
Hash database builder and reverse lookup tool. SHA + aha!
Build precomputed hash databases from wordlists, then query them to find preimages.
Installation
Or build from source:
Usage
Build a hash database
# Single algorithm (default: sha256)
# Multiple algorithms
# Custom output file
# With source metadata
Query for preimage
# Find preimage by hash
# Prefix search
# Filter by algorithm
# Output formats
Database info
Output:
Database: "hashes.parquet"
Records: 1000000
Size: 45.32 MB
Algorithms: sha256, md5, keccak256
Sources: rockyou
Algorithms
| Name | Description | Output |
|---|---|---|
md5 |
MD5 | 128 bit |
sha1 |
SHA-1 | 160 bit |
sha256 |
SHA-256 | 256 bit |
sha512 |
SHA-512 | 512 bit |
hash160 |
RIPEMD160(SHA256(x)) - Bitcoin addresses | 160 bit |
hash256 |
SHA256(SHA256(x)) - Bitcoin blocks/txids | 256 bit |
keccak256 |
Keccak-256 - Ethereum | 256 bit |
blake3 |
BLAKE3 | 256 bit |
ripemd160 |
RIPEMD-160 | 160 bit |
Storage Format
Databases are stored as Apache Parquet files with ZSTD compression.
Schema:
hash(Binary) - hash bytespreimage(Utf8) - original input dataalgorithm(Utf8) - algorithm namesources(List) - wordlist origins
Parquet files can be queried with DuckDB, Polars, Spark, or Cloudflare R2 SQL.
Use Cases
- Security research - reverse hash lookups
- CTF challenges - quick hash cracking
- Forensics - identify known passwords
- Blockchain analysis - Bitcoin/Ethereum address research
Configuration
Configuration is loaded from (in order of priority):
- CLI flags
- Environment variables
.shaha.tomlin current directory~/.config/shaha/config.toml
Example config file
[]
= "https://account-id.r2.cloudflarestorage.com"
= "my-bucket"
= "your-access-key"
= "your-secret-key"
= "auto"
= "hashes.parquet"
[]
= ["sha256", "md5"]
= "hashes.parquet"
R2/S3 Storage
Build and query directly from Cloudflare R2 or S3-compatible storage:
# Build to R2
# Query from R2
Environment variables:
SHAHA_R2_ENDPOINT- S3/R2 endpoint URLSHAHA_R2_BUCKET- Bucket nameSHAHA_R2_ACCESS_KEY_IDorAWS_ACCESS_KEY_IDSHAHA_R2_SECRET_ACCESS_KEYorAWS_SECRET_ACCESS_KEYSHAHA_R2_PATH- Path within bucketSHAHA_R2_REGION- Region (default: "auto")
Roadmap
- R2 Data Catalog - Apache Iceberg integration for faster queries
License
MIT