📄 sha256_example.c
字号:
#include <windows.h>
#include <stdio.h>
#include <time.h>
#include "sha256.h"
/* Test Vectors
String: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
Digest: "248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1",
*/
#define NUM 300000
#define MESSAGELEN 1300
void sha256_example()
{
clock_t start,finish;
int i;
unsigned char msg[MESSAGELEN];
unsigned char digest[20];
struct sha256Context ctx;
char str[512], *m;
start = clock();
for(i=0; i< NUM; i++){
ds_sha256Init(&ctx);
ds_sha256Update(&ctx, msg, MESSAGELEN);
ds_sha256Final(&ctx,digest);
}
finish = clock();
str[0] = 0;
sprintf(str+strlen(str), "%.4f seconds spent in hashing\r\n", (double)(finish - start) / CLOCKS_PER_SEC );
sprintf(str+strlen(str), "Speed: %.2fMbps\r\n\r\n", (NUM/1000)*(MESSAGELEN*8)/(double)(finish - start) );
m = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
ds_sha256Init(&ctx);
ds_sha256Update(&ctx, m, strlen(m));
ds_sha256Final(&ctx,digest);
sprintf(str+strlen(str),"String: %s\r\n",m);
sprintf(str+strlen(str),"Digest: ");
for(i=0;i<32;i++)
sprintf(str+strlen(str),"%02x",digest[i]);
sprintf(str+strlen(str),"\r\nSHOULD BE: 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1\r\n");
MessageBox(NULL,str,"SHA256 test",MB_OK);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -