mirror of
https://github.com/sheumann/65816-crypto.git
synced 2024-11-22 07:31:58 +00:00
Add sha1sum program as a test/application of the SHA-1 computation.
This commit is contained in:
parent
0ad5d39f07
commit
b2d3d3ffa8
39
sha1sum.c
Normal file
39
sha1sum.c
Normal file
@ -0,0 +1,39 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include "sha1.h"
|
||||
|
||||
unsigned char buf[0x8000];
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
struct sha1_context ctx;
|
||||
FILE *file;
|
||||
size_t count;
|
||||
int i;
|
||||
|
||||
srand(time(NULL));
|
||||
|
||||
if (argc != 2)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
file = fopen(argv[1], "rb");
|
||||
if (file == NULL)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
sha1_init(&ctx);
|
||||
do {
|
||||
count = (rand() & 0x7FFF) + 1;
|
||||
count = fread(buf, 1, count, file);
|
||||
sha1_update(&ctx, buf, count);
|
||||
} while (count != 0);
|
||||
|
||||
fclose(file);
|
||||
sha1_finalize(&ctx);
|
||||
|
||||
for (i = 0; i < 20; i++) {
|
||||
printf("%02x", ctx.hash[i]);
|
||||
}
|
||||
printf("\n");
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user