md5calc_debug.c

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

C
78
字号
/** 

MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =
d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("123456789012345678901234567890123456789012345678901234567890123456
78901234567890") = 57edf4a22be3c955ac49da2e2107b67a


*/

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

char Buf[256]={0};
Md5Calc m5;

char* TestStr[16] = {
    "",
	"a",
	"abc",
	"message digest",
	"abcdefghijklmnopqrstuvwxyz",
	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
	"12345678901234567890123456789012345678901234567890123456789012345678901234567890",
	"1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
};




int main(){
    void* op;
    SZ_T w,x,y,z,e;
    SZ_T f = 0;
    
    printf("--Md5 Calc Auto Test--\n");
    printf(" Md5Calc Size = %d\n", sizeof( Md5Calc ) );
    Md5Calc_init(&m5);
    printf("\n -- Single Call Test -- \n");
    for( e = 0; e < 8; e ++){
    	printf(" Test String = %s, String Len: %d \n", TestStr[ e ], strlen( TestStr[ e ] ) );
    	Md5Calc_reset(&m5);
    	Md5Calc_calculate( &m5, TestStr[ e ], strlen( TestStr[ e ] ));
	    printf(" Result is: ");
	    for( x = 0; x < 16; x ++ ) printf("%x ",( SZ_UCHAR )( m5.Value[x]));
	    printf("\n");
    }


    printf("\n -- MultiCall Test -- \n");
    for( e = 1; e < 8; e ++ ){
    	printf(" Test String = %s \n ", TestStr[ e ] );
     	w = strlen( TestStr[ e ] );
	    printf(" --- Call Times ( every call pass 1 char ): %d \n", w );
        Md5Calc_reset( &m5 );
     	for( x = 0; x < w; x ++ ){
		   Md5Calc_calculate( &m5, TestStr[ e ] + x, 1 );
	     }
	     printf(" Result is: ");
	     for( x = 0; x < 16; x ++ ) printf("%x ",( SZ_UCHAR)( m5.Value[x]));
	     printf("\n");
    }
	

  
    Md5Calc_uninit( &m5 );
    system("PAUSE");
    return 0;
}

⌨️ 快捷键说明

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