2010-06-15 90 views
0

它调用这些API函数(ADVAPI32.DLL)与这些参数:这是什么(C/C++)程序在做什么?

CryptCreateHash (3275488, 32771, 0, 0, 1243424); 
CryptHashData (3203040, 'UY30930037661', 13, 0); 
CryptCreateHash (3276304, 32771, 0, 0, 46463812); 
CryptHashData (3203296, '-585164138661', 10, 0); 
CryptCreateHash (3276304, 32771, 0, 0, 46463808); 
CryptHashData (3203424, '1db17bd8ef8bcbd734424a9eae818907LOGIN OK³·óéB', 40, 0); 
CryptCreateHash (3276304, 32771, 0, 0, 46463808); 
CryptHashData (3203296, '1db17bd8ef8bcbd734424a9eae818907HWHASH OK', 41, 0); 

不知道它是如何来

1db17bd8ef8bcbd734424a9eae818907 

人有什么想法?

+5

这是无效的C或C++代码;它使用单引号字符串。什么是实际工作代码? – 2010-06-15 11:30:06

+1

这不是源代码,它是用C++编写的程序的API调用日志和参数。 – 2010-06-15 11:38:07

+1

您是否在MSDN上检查过这些API调用的文档?如果是的话,你不明白什么? – pdbartlett 2010-06-15 11:45:23

回答

2

(请参见here:) 对CryptCreateHash的调用会启动MD5(32771 = 0x8003)的散列:CALG_MD5 0x00008003 MD5 hashing algorithm.。并且对CryptHashData的调用使用该散列对象散列第二个参数(引号中的那个)。我猜这些长字符串可能是在通过网络传输之前被散列的键。