子程序名 | 返回值类型 | 公开 | 备 注 | ||||
文件_取md5 | 文本型 | 计算文件的MD5,与“校验_取md5”不同的是,无需将整个文件一次性读入内存,可以避免大文件计算时无法分配内存的错误,适用于备份、程序更新等场景 | |||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
文件路径 | 文本型 | 文件的路径 |
变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
FileData | 文本型 | 读取文件时的缓冲区 | ||||
BytesRead | 整数型 | 成功读取的字节数 | ||||
md5 | 字节型 | "16" | md5 | |||
len | 整数型 | 长度 | ||||
md5Hex | 文本型 | 16进制形式的md5 | ||||
FileSize | 长整数型 | 文件大小 | ||||
Hfile | 整数型 | 文件句柄 | ||||
HCSP | 整数型 | CSP句柄 | ||||
Hhash | 整数型 | 哈希句柄 | ||||
i | 整数型 | i |
CryptAcquireContextA (HCSP, “”, “”, 1, 4026531840)
' 启动哈希流
CryptCreateHash (HCSP, 32771, 0, 0, Hhash)
' 创建文件句柄
Hfile = CreateFileA (文件路径, 2147483648, 1, 0, 3, 134217856, 0)
' 获取文件大小
GetFileSizeEx (Hfile, FileSize)
' 写入文件数据






CloseHandle (Hfile)
' 计算哈希值
len = 16
CryptGetHashParam (Hhash, 2, md5, len, 0)
CryptReleaseContext (HCSP, 0)
CryptDestroyHash (Hhash)
' 转换为十六进制



返回 (md5Hex)
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CryptAcquireContextA | 逻辑型 | |||
DLL库文件名: | ||||
advapi32.dll | ||||
在DLL库中对应命令名: | ||||
CryptAcquireContextA | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
phProv | 整数型 | |||
pszContainer | 文本型 | |||
pszProvider | 文本型 | |||
dwProvType | 整数型 | |||
dwFlags | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CryptCreateHash | 逻辑型 | |||
DLL库文件名: | ||||
advapi32 | ||||
在DLL库中对应命令名: | ||||
CryptCreateHash | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hProv | 整数型 | |||
Algid | 整数型 | |||
hKey | 整数型 | |||
dwFlags | 整数型 | |||
phHash | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CreateFileA | 整数型 | |||
DLL库文件名: | ||||
kernel32.dll | ||||
在DLL库中对应命令名: | ||||
CreateFileA | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
lpFileName | 文本型 | |||
dwDesiredAccess | 整数型 | |||
dwShareMode | 整数型 | |||
lpSecurityAttributes | 整数型 | |||
dwCreationDisposition | 整数型 | |||
dwFlagsAndAttributes | 整数型 | |||
hTemplateFile | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
ReadFile | 逻辑型 | |||
DLL库文件名: | ||||
kernel32 | ||||
在DLL库中对应命令名: | ||||
ReadFile | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hFile | 整数型 | |||
lpBuffer | 文本型 | |||
nNumberOfBytesToRead | 整数型 | |||
lpNumberOfBytesRead | 整数型 | |||
lpOverlapped | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CryptHashData | 逻辑型 | |||
DLL库文件名: | ||||
advapi32 | ||||
在DLL库中对应命令名: | ||||
CryptHashData | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hHash | 整数型 | |||
a1 | 文本型 | |||
dwDataLen | 整数型 | |||
dwFlags | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CryptGetHashParam | 逻辑型 | |||
DLL库文件名: | ||||
advapi32 | ||||
在DLL库中对应命令名: | ||||
CryptGetHashParam | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hHash | 整数型 | |||
dwParam | 整数型 | |||
pbData | 字节型 | |||
pdwDataLen | 整数型 | |||
dwFlags | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CloseHandle | 逻辑型 | |||
DLL库文件名: | ||||
Kernel32 | ||||
在DLL库中对应命令名: | ||||
CloseHandle | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hObject | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CryptReleaseContext | 逻辑型 | |||
DLL库文件名: | ||||
advapi32 | ||||
在DLL库中对应命令名: | ||||
CryptReleaseContext | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hProv | 整数型 | |||
dwFlags | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
CryptDestroyHash | 逻辑型 | |||
DLL库文件名: | ||||
advapi32 | ||||
在DLL库中对应命令名: | ||||
CryptDestroyHash | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hHash | 整数型 |
DLL命令名 | 返回值类型 | 公开 | 备 注 | |
GetFileSizeEx | 整数型 | |||
DLL库文件名: | ||||
kernel32 | ||||
在DLL库中对应命令名: | ||||
GetFileSizeEx | ||||
参数名 | 类 型 | 传址 | 数组 | 备 注 |
hFile | 整数型 | |||
lpFileSize | 长整数型 |
词条作者信息 使用例程