1 /* 2 * This software is in the public domain as per 3 * http://archives.neohapsis.com/archives/crypto/2000-q4/0730.html 4 * Changes by Jonathan Dieter are also in the public domain 5 */ 6 7 #if !defined( _sha256_h ) 8 #define _sha256_h 9 10 typedef struct { 11 unsigned int H[ 8 ]; 12 unsigned int hbits, lbits; 13 unsigned char M[ 64 ]; 14 unsigned int mlen; 15 } SHA256_ctx; 16 17 void SHA256_init ( SHA256_ctx *ctx); 18 void SHA256_update( SHA256_ctx *ctx, const unsigned char *data, unsigned int length ); 19 void SHA256_final ( SHA256_ctx *ctx); 20 void SHA256_digest( SHA256_ctx *ctx, unsigned char *digest); 21 22 #endif 23