This library implements some hash and cryptographic algorithms.

Dependents:   ES_CW2_Starter_JIN EMBEDDED_CW2 EMBEDDED_CW2_Final Spinnybois ... more

Fork of Crypto by Francois Berder

hash/MD5.h

Committer:
estott
Date:
2018-03-09
Revision:
15:634f9c4cbab1
Parent:
7:2dbbdfb08123

File content as of revision 15:634f9c4cbab1:

#ifndef MD5_H
#define MD5_H

#include "HashAlgorithm.h"


class MD5 : public HashAlgorithm
{
    public :
    
        MD5();
        
        virtual uint8_t outputSize() const;
        virtual void update(uint8_t *data, uint32_t length);
        virtual void finalize(uint8_t *hash);
        
        static void computeHash(uint8_t *hash, uint8_t *data, uint32_t length);
        
    private :
    
        static void computeRounds(uint32_t *a2, uint32_t *b2, uint32_t *c2, uint32_t *d2, uint8_t *buffer);
        
        uint32_t a,b,c,d;
        uint32_t totalBufferLength;
        uint8_t buffer[64];
        uint8_t bufferLength;
};

#endif