#include "drivers.h"
#include "mmcau.h"
void sha256(unsigned char in[], unsigned int out[], int nbytes);
static unsigned char pad[] =
{
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
static unsigned char sha256_string[] =
"The quick brown fox jumps over the lazy dog";
static unsigned int sha256_out[8];
void sha256(unsigned char in[], unsigned int out[], int nbytes)
{
int i, j, n, npad;
unsigned char tail[128];
npad = nbytes & 63;
if (npad)
{
j = nbytes - npad;
for (i = 0; i < npad; i++)
tail[i] = in[i + j];
}
j = ((npad < 56) ? 56 : 120) - npad;
for (i = 0; i < j; i++)
tail[i + npad] = pad[i];
j += npad;
n = nbytes << 3;
tail[j] = 0;
tail[j+1] = 0;
tail[j+2] = 0;
tail[j+3] = 0;
tail[j+4] = n>>24 & 0xff;
tail[j+5] = n>>16 & 0xff;
tail[j+6] = n>>8 & 0xff;
tail[j+7] = n & 0xff;
n = nbytes >> 6;
for (i = 0; i < n; i++)
if (npad > 55)
}
void main (void)
{
sha256(sha256_string, sha256_out, sizeof(sha256_string)-1);
while(1);
}