TAY

Fork of Crypto_light by Edward Stott

SHA1.h

Committer:
feb11
Date:
2013-09-07
Revision:
0:7a1237bd2d13
Child:
5:06cd9c8afa0b

File content as of revision 0:7a1237bd2d13:

#ifndef SHA1_H
#define SHA1_H

#include "HashAlgorithm.h"


class SHA1 : public HashAlgorithm
{
    public :
    
        SHA1();
        
        virtual void add(uint8_t *in, uint32_t length);
        virtual void computeDigest(uint8_t *out);
        virtual uint8_t outputSize() const;
        
        static void computeDigest(uint8_t *digest, uint8_t *in, uint32_t length);
        
    private :
        static void computeBlock(uint32_t *h02, uint32_t *h12, uint32_t *h22, uint32_t *h32, uint32_t *h42, uint8_t *buffer);
    
        uint32_t h0, h1, h2, h3, h4;
        uint32_t totalBufferLength;
        uint8_t buffer[64];
        uint8_t bufferLength;       
};

#endif