$ cd ../
SHA-256 Hasher — bash

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

Vista escritorio
SHA-256 Hasher - Vista escritorio
Vista movil
SHA-256 Hasher - Vista movil

# Tecnologías utilizadas

C++23