📄 main.cpp
字号:
#include <stdio.h>
#include <string.h>
#include "MD5.h"
#define HASH_BIN_LENGTH 16
#define HASH_HEX_LENGTH 32
typedef unsigned char MD5HashBinBuffer[ HASH_BIN_LENGTH ] ;
typedef char MD5HashHexBuffer[ HASH_HEX_LENGTH + 1 ] ;
//////////////////////////////////////////////////////////////////////////
void MD5Encode( unsigned char *username,unsigned char *password,unsigned char *transaction,
MD5HashBinBuffer md5string )
{
MD5_CTX md5_context ;
MD5Init( &md5_context ) ;
MD5Update( &md5_context, username, strlen( ( char * )username ) ) ;
MD5Update( &md5_context, password, strlen( ( char * )password ) ) ;
MD5Update( &md5_context, transaction, strlen( ( char * )transaction ) ) ;
MD5Final( md5string, &md5_context ) ;
}
//////////////////////////////////////////////////////////////////////////
void ConvertToHexadecimal( MD5HashBinBuffer bin_buffer, MD5HashHexBuffer hex_buffer )
{ //锣传
unsigned char code ;
for ( int i = 0; i < HASH_BIN_LENGTH; ++i ) {
code = ( bin_buffer[ i ] >> 4 ) & 0x0f ;
if ( code <= 9 ) {
hex_buffer[ i * 2 ] = code + '0' ;
}
else {
hex_buffer[ i * 2 ] = code + 'a' - 10 ;
}
code = ( bin_buffer[ i ] ) & 0x0f ;
if ( code <= 9 ) {
hex_buffer[ i * 2 + 1 ] = code + '0' ;
}
else {
hex_buffer[ i * 2 + 1 ] = code + 'a' - 10 ;
}
}
hex_buffer[ HASH_HEX_LENGTH ] = '\0' ;
}
int main( int argc, char *argv[] )
{
MD5HashBinBuffer encryption ;
MD5HashHexBuffer encryption_hex ;
char *username = "tom" ;
char *password = "tom1234" ;
char *transaction = "293294912352" ;
MD5Encode( ( unsigned char * )username, ( unsigned char * )password
,( unsigned char * )transaction, encryption ) ;
ConvertToHexadecimal( encryption, encryption_hex ) ;
printf( "%s\n", encryption_hex ) ;
return 0 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -