, 1 min read
Very simple SHA1 test program written in C
Here is a simple test program to call SHA1 hashing routine from OpenSSL.
#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
int main (int argc, char *argv[]) {
unsigned long i, n;
unsigned char md[1024];
if (argc <= 1) return 0;
n = strlen(argv[1]);
SHA1((unsigned char*)argv[1],n,md);
for (i=0; i<SHA_DIGEST_LENGTH; ++i)
printf("%02x",md[i]);
puts("");
return 0;
}
Compile with
cc -Wall sha1tst.c -o sha1tst -lcrypto
It is important to give the -l
flag after -o
.
Some tests:
$ ./sha1tst ABCabc
135488ccc0c5e5a3d0ac437aac1821bba9347b3d
$ printf "ABCabc" | sha1sum
135488ccc0c5e5a3d0ac437aac1821bba9347b3d -
In Ubuntu the openssl development libraries are in libssl-dev
.