欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VBS获取文件MD5值(无组件)

程序员文章站 2022-03-21 16:37:25
下面这个代码不需要组件一样可以获取md5值。 复制代码 代码如下:option explicitdim widim filedim file_sizedim file_a...

下面这个代码不需要组件一样可以获取md5值。

复制代码 代码如下:

option explicit
dim wi
dim file
dim file_size
dim file_attributes
dim file_version
dim file_hash
set wi = createobject("windowsinstaller.installer")
file = "111.exe"
file_size = wi.filesize(file)
file_attributes = wi.fileattributes(file)
file_version = wi.fileversion(file)
file_hash = getfilehash(file)
set wi = nothing
msgbox "file: " & file & vbcrlf & _
"size: " & file_size & vbcrlf & _
"attributes: " & file_attributes & vbcrlf & _
"version: " & file_version & vbcrlf & _
"md5: " & file_hash
function getfilehash(file_name)
dim file_hash
dim hash_value
dim i
set file_hash = wi.filehash(file_name, 0)
hash_value = ""
for i = 1 to file_hash.fieldcount
hash_value = hash_value & bigendianhex(file_hash.integerdata(i))
next
getfilehash = hash_value
set file_hash = nothing
end function
function bigendianhex(int)
dim result
dim b1, b2, b3, b4
result = hex(int)
b1 = mid(result, 7, 2)
b2 = mid(result, 5, 2)
b3 = mid(result, 3, 2)
b4 = mid(result, 1, 2)
bigendianhex = b1 & b2 & b3 & b4
end function