#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
int main(int argc, char** argv) {
unsigned char hash[SHA_DIGEST_LENGTH];
unsigned char* b;
unsigned char* s = "string string string";
int i, dlen;
dlen = strlen(s);
if ((b = (unsigned char *)malloc(dlen)) == NULL) {
return (-1);
}
memcpy(b, s, dlen);
SHA1(b, dlen, hash);
printf("hash: ");
<strong>for(i = 0; i < SHA_DIGEST_LENGTH; i++) {
printf("%02X", *(hash + i));
}</strong>
printf("\n");
free(b);
}
gcc -lssl hashtest.c
とコンパイルすればよい。コンパイルすると a.out というファイルができるから ./a.out [Enter キー] で実行してみよう。#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
int main(int argc, char** argv) {
unsigned char hash[SHA_DIGEST_LENGTH];
unsigned char* b;
unsigned char* s = "string string string";
int i, dlen;
dlen = strlen(s);
if ((b = (unsigned char *)malloc(dlen)) == NULL) {
return (-1);
}
memcpy(b, s, dlen);
SHA1(b, dlen, hash);
printf("hash: ");
<strong>for(i = 0; i < SHA_DIGEST_LENGTH; i++) {
printf("%02X", *(hash + i));
}</strong>
printf("\n");
free(b);
}
gcc -lssl hashtest.c
とコンパイルすればよい。コンパイルすると a.out というファイルができるから ./a.out [Enter キー] で実行してみよう。
#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
int main(int argc, char** argv) {
unsigned char hash[SHA_DIGEST_LENGTH];
unsigned char* b;
unsigned char* s = "string string string";
int dlen;
dlen = strlen(s);
if ((b = (unsigned char *)malloc(dlen)) == NULL) {
return (-1);
}
memcpy(b, s, dlen); // s を b に dlen 分だけ(すなわち文字列 s を)コピーする。
SHA1(b, dlen, hash); // b を c 分だけのハッシュ値を hash に求める。
// 処理
free(b);
}
gcc -lssl hashtest.c
とコンパイルすればよい。#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
int main(int argc, char** argv) {
unsigned char hash[SHA_DIGEST_LENGTH];
unsigned char* b;
unsigned char* s = "string string string";
int dlen;
dlen = strlen(s);
if ((b = (unsigned char *)malloc(dlen)) == NULL) {
return (-1);
}
memcpy(b, s, dlen); // s を b に dlen 分だけ(すなわち文字列 s を)コピーする。
SHA1(b, dlen, hash); // b を c 分だけのハッシュ値を hash に求める。
// 処理
free(b);
}
gcc -lssl hashtest.c
とコンパイルすればよい。
#include <sys/time.h>
int cputime()
{
struct timeval tp;
void *tzp;
tzp = NULL;
gettimeofday(&tp,tzp);
return tp.tv_sec*1000 + tp.tv_usec/1000;
}
void foo {
int starttime, endtime
startime = cputime();
// 処理
endtime = cputime();
printf("CPU Time: %d ms\n", endtime - starttime);
}
#include <sys/time.h>
int cputime()
{
struct timeval tp;
void *tzp;
tzp = NULL;
gettimeofday(&tp,tzp);
return tp.tv_sec*1000 + tp.tv_usec/1000;
}
void foo {
int starttime, endtime
startime = cputime();
// 処理
endtime = cputime();
printf("CPU Time: %d ms\n", endtime - starttime);
}