其实以SHA1最可靠,每个文件可以用SHA1校验软件算出一个独有的SHA1值,哪怕这个文件之后友让仿只被修改过一个字节都将造成SHA1校验值出现差异,所以一般网上发布的资源很多都会给出SHA1或MD5值让你来校验你好纤下载的文件是否有错误和是滑凯否被篡改过。
#include <stdio.h>#include <windows.h>
#include <wincrypt.h>山埋正
int main() {
char str[] = "123456"
BYTE 液桥md5[16]
HCRYPTPROV hProv
CryptAcquireContext(&hProv, 0, 0, PROV_DSS, CRYPT_VERIFYCONTEXT)
HCRYPTHASH hHash
CryptCreateHash(hProv, CALG_MD5, 0, 0, &hHash)
CryptHashData(hHash, (PBYTE)str, sizeof(str) - 1, 0)
DWORD md5len = 逗悔16
CryptGetHashParam(hHash, HP_HASHVAL, md5, &md5len, 0)
CryptDestroyHash(hHash)
CryptReleaseContext(hProv, 0)
int i
for(i = 0 i < 16 ++i)
printf("%02X", md5[i])
return 0
}
直接用系统API计算md5就好了
如果实在要DLL也可以追问,我把这个代码弄个DLL给你
WIN7系统使用的是SHA1,并不是MD5。Windows7旗舰版简体中文32位
SHA1: B589336602E3B7E134E222ED47FC94938B04354F
Windows7旗舰版简体中文64位
SHA1: 4A98A2F1ED794425674D04A37B70B9763522B0D4
Windows7企业版简体中文32位
SHA1: 50F2900D293C8DF63A9D23125AFEEA7662FF9E54
Windows7企业版简体中文64位
SHA1: EE20DAF2CDEDD71C374E241340DEB651728A69C4
Windows7专业版简体中文官方原版32位
SHA1: EBD595C3099CCF57C6FF53810F73339835CFBB9D
Windows7专业版简体中文官方原版64位
SHA1: 5669A51195CD79D73CD18161D51E7E8D43DF53D1
Windows7家樱扒喊庭高级简体中文官方原版32位
SHA1: CBA410DB30FA1561F874E1CC155E575F4A836B37
Windows7家庭高级简体中文官方原版64位
SHA1: 5566AB6F40B0689702F02DE15804BEB32832D6A6
SHA1:
安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标此誉准 (Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。
MD5:
即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译脊野摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)