sha2calc_debug2.c

来自「md5和sha-2的源码」· C语言 代码 · 共 96 行

C
96
字号
/** 
SHa256( TEST1 ) = ba7816bf 8f01cfea 414140de 5dae2223 b00361a3 96177a9c b410ff61 f20015ad.
Sha256( TEST2 ) = 248d6a61 d20638b8 e5c02693 0c3e6039 a33ce459 64ff2167 f6ecedd4 19db06c1
Sha256 ( 1000000 of a ) = cdc76e5c 9914fb92 81a1c7e2 84d73e67 f1809a48 a497200e 046d39cc c7112cd0
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "../../MyLib/DataCalc/Sha256Calc.h"
#include "../../MyLib/DataCalc/Sha256Calc.c"

#define TEST1   "abc"
#define TEST2a  "abcdbcdecdefdefgefghfghighijhi"
#define TEST2b  "jkijkljklmklmnlmnomnopnopq"
#define TEST2   TEST2a TEST2b
#define TEST3   "a"
#define TEST4a  "01234567012345670123456701234567"
#define TEST4b  "01234567012345670123456701234567"
#define TEST4   TEST4a TEST4b


char* TestStr[16] = {
      TEST1, 
      TEST2, 
      TEST3, 
      TEST4
};
int TestTime[15] = {
1, 1, 1000000, 10
};

char abuf[1000000] = {0};

Sha256Calc s1;

int main(){
    void* op;
    SZ_T w,x,y,z,e;
    SZ_T f = 0;
    
    for( x = 0; x < 1000000; x ++ ){ abuf[x] = 'a';}
    
    printf("--Sha256 Calc Auto Test--\n");
    printf(" Sha256Calc Size = %d\n", sizeof( Sha256Calc ) );

    printf(" --- Single Block Test -- \n");
    printf(" Test String:%s, Len:%d\n",TestStr[0],strlen(TestStr[0]));
    Sha256Calc_reset(&s1);
    Sha256Calc_calculate(&s1,TestStr[0],strlen(TestStr[0]));
    printf(" Result is: ");
	for( x = 0; x < 32; x ++ ) printf("%x ",( SZ_UCHAR)( s1.Value[x]));
	printf("\n");

    printf(" Test String:%s, Len:%d\n",TestStr[1],strlen(TestStr[1]));
    Sha256Calc_reset(&s1);
    Sha256Calc_calculate(&s1,TestStr[1],strlen(TestStr[1]));
    printf(" Result is: ");
	for( x = 0; x < 32; x ++ ) printf("%x ",( SZ_UCHAR)( s1.Value[x]));
	printf("\n");

    printf(" --- Long Block Test --- \n ");
    printf(" 1000000 repeat of a \n");
    Sha256Calc_reset(&s1);
    Sha256Calc_calculate(&s1,&abuf[0],1000000);
    printf(" Result is: ");
   	for( x = 0; x < 32; x ++ ) printf("%x ",( SZ_UCHAR)( s1.Value[x]));
	printf("\n");

    printf("\n -- MultiCall Test -- \n");
    printf(" 1000000 repeat of a, every pass 1 char \n");
    Sha256Calc_reset(&s1);
    for( x = 0; x < 1000000; x ++ ){
          Sha256Calc_calculate(&s1,TestStr[2],1);    
    }
    printf(" Result is: ");
   	for( x = 0; x < 32; x ++ ) printf("%x ",( SZ_UCHAR)( s1.Value[x]));
	printf("\n");
    
    printf(" Test String ( repeat 10 times, every pass a string:%s\n",TestStr[3]);
    Sha256Calc_reset(&s1);
    for( x = 0; x < 10; x ++ ){  Sha256Calc_calculate(&s1,TestStr[3],strlen(TestStr[3]));}
    printf(" Result is: ");
   	for( x = 0; x < 32; x ++ ) printf("%x ",( SZ_UCHAR)( s1.Value[x]));
	printf("\n");
    
    
    
	

  
    Sha256Calc_uninit( &s1 );
    system("PAUSE");
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?