Skip to content
Snippets Groups Projects
Select Git revision
  • 6a051ddbade4ddfa37b5fd52bd7b5ed4088172f1
  • master default protected
2 results

dh

Blame
  • proj-2_sha256.h 1.18 KiB
    /*********************************************************************
    * Filename:   sha256.h
    * Author:     Brad Conte (brad AT bradconte.com)
    * Copyright:
    * Disclaimer: This code is presented "as is" without any guarantees.
    * Details:    Defines the API for the corresponding SHA1 implementation.
    *********************************************************************/
    
    #ifndef SHA256_H
    #define SHA256_H
    
    /*************************** HEADER FILES ***************************/
    #include <stddef.h>
    
    /****************************** MACROS ******************************/
    #define SHA256_BLOCK_SIZE 32            // SHA256 outputs a 32 byte digest
    
    /**************************** DATA TYPES ****************************/
    typedef unsigned char BYTE;             // 8-bit byte
    typedef unsigned int  WORD;             // 32-bit word, change to "long" for 16-bit machines
    
    typedef struct {
    	BYTE data[64];
    	WORD datalen;
    	unsigned long long bitlen;
    	WORD state[8];
    } SHA256_CTX;
    
    /*********************** FUNCTION DECLARATIONS **********************/
    void sha256_init(SHA256_CTX *ctx);
    void sha256_update(SHA256_CTX *ctx, const BYTE data[], size_t len);
    void sha256_final(SHA256_CTX *ctx, BYTE hash[]);
    
    #endif // SHA256_H