vbs獲取文件md5值(無(wú)組件)

字號(hào):


    vbs獲取md5值最簡(jiǎn)單的方法是直接調(diào)用capicom組件,但是由于capicom組件系統(tǒng)并不是默認(rèn)安裝,所以使用起來(lái)不方便
    下面這個(gè)代碼不需要組件一樣可以獲取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