The SHA-256 Project

Developed for an applied cryptography course at NYU Tandon, this project focuses on SHA-256.

github.com/oconnor663/sha256_project
The SHA-256 Project homepage screenshot

About The SHA-256 Project

The SHA-256 Project is a course assignment in which learners implement the SHA-256 hash function themselves, following a set of 16 problems. The project is based on pseudocode from Wikipedia and builds up the algorithm piece by piece, with tests at each step. It ends with a demonstration of a length extension attack using the learner's own implementation.

The project was originally assigned in NYU Tandon's CS-GY 6903 Applied Cryptography course in Fall 2021. The repository states that the work is intended to be JSON-in-JSON-out and autograded, and that a simplified grading script is included. The author warns that small mistakes can produce completely wrong output without useful error messages, so the project is described as challenging.

Key features

  • 16 step-by-step problems that build a SHA-256 implementation from pseudocode
  • Length extension attack demonstration using the learner's own implementation
  • Simplified grade.py script for checking JSON output
  • Example input and example output files for comparison
  • Example solutions provided in both Python and Rust
  • Problems may be solved in any programming language
Best for: Students in an applied cryptography course, or self-directed learners who want to understand SHA-256 by implementing it.
Good for
  • Includes example solutions in Python and Rust for comparison
  • Breaks the algorithm into testable steps, each with its own problem
  • Explains why implementing a hash function helps with using SHA-2 safely
Watch out for
  • The author notes that mistakes are difficult to debug
  • The included grading script is described as simplified

The SHA-256 Project at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Not stated
Language
English
Last checked
Oct 6, 2026 · Online when checked
Listed
Oct 5, 2026

The SHA-256 Project alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in Learn to Code

Well-known listings from the same topic.

All 387

The SHA-256 Project FAQ

Can I write the solution in a language other than Python?
Yes. The repository says you can code in whatever language you like. The original course used Python, and example solutions are provided in Python and Rust.
How can I check my output without the grading script?
The repository says you can visually compare the output of your solution to the example output provided.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing