⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 簡易的MD5 轉換 sample code 請指教
💻 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 + -