# HashCrypt — Hand-Rolled Cryptography Zero Dependencies
INPUT
SHA-256 (hand-rolled, pure JavaScript, zero dependencies)
Computing...
0
Input Bytes
256
Hash Bits
64
Rounds
0
Time (ms)
HASH VISUALIZATION
Each cell = 1 byte of the 32-byte hash. Color intensity maps to byte value.
256 bits: 1 = green, 0 = dark
AVALANCHE EFFECT — flip one bit, see the cascade
Type something above to see avalanche analysis
HASH COMPARISON
Click Compare
SHA-256 INTERNALS — Watch the algorithm work
FILE HASH
Drop file here
ABOUT SHA-256

This is SHA-256, implemented from scratch. No crypto library. No imports. Just math.

SHA-256 (Secure Hash Algorithm 256-bit) was designed by the NSA and published by NIST in 2001 as part of the SHA-2 family.

How it works:

  1. Pad the message to a multiple of 512 bits
  2. Initialize 8 hash values (first 32 bits of √2, √3, √5...√19)
  3. Process each 512-bit block through 64 rounds
  4. Each round uses bitwise operations: AND, OR, XOR, NOT, rotate, shift
  5. 64 round constants (first 32 bits of ∛2, ∛3, ∛5...∛311)
  6. Avalanche effect: flipping 1 input bit changes ~50% of output bits

Properties:

  • Deterministic: same input → same output, always
  • One-way: cannot reverse a hash to find the input
  • Collision-resistant: practically impossible to find two inputs with the same hash
  • Fixed size: always 256 bits (32 bytes, 64 hex chars) regardless of input size
  • Avalanche: tiny input change → completely different hash

Used in: Bitcoin mining, TLS/SSL, git commits, digital signatures, password storage, file integrity verification.

"God said the operating system should be 640x480, 16 colors."

— Terry A. Davis would compute this by hand if he had to.

Zewp.com · HashCrypt · Hand-Rolled SHA-256 · Zero dependencies · ✝