user@devops:~$ cat README.md
SHA-256 Hasher
# Descripción
SHA-256 Hasher es un hasher y verificador de integridad de archivos en C++23 que implementa el algoritmo SHA-256 (FIPS 180-4) completamente desde cero: padding, ronda de compresion y las 64 constantes K. Lee archivos por streaming con buffer de 1 MiB, por lo que maneja archivos de cualquier tamano con uso de memoria constante. Incluye verificacion contra un hash esperado (-c), verificacion de manifiestos estilo sha256sum (-C), benchmark de rendimiento en memoria (-b), self-test con los vectores conocidos de FIPS 180-4 (--selftest), lectura desde stdin y salida hexadecimal en mayusculas o minusculas. Los exit codes estandar (0=OK, 1=mismatch, 2=error) permiten integrarlo en scripts de CI. Compilado con GCC 14 usando solo la biblioteca estandar C++23 (std::print, std::span, std::from_chars, std::filesystem).
# Características principales
$ Algoritmo SHA-256 (FIPS 180-4) implementado desde cero en C++23 puro
$ Hashing por streaming con buffer de 1 MiB - archivos de cualquier tamano
$ Verificacion contra hash esperado (-c) con exit codes 0/1/2
$ Verificacion de manifiestos estilo sha256sum (-C)
$ Benchmark de rendimiento en memoria (-b N MiB)
$ Self-test con vectores FIPS 180-4 conocidos (--selftest)
$ Entrada desde stdin (-) y salida hexadecimal uppercase (-u)
$ Cero dependencias: compilacion directa con g++ sin CMake
# Galería
# Tecnologías utilizadas