Тема: VBScript: вычисление хэша MD5 файла
Option Explicit
Const CAPICOM_HASH_ALGORITHM_MD5 = 3
Const adTypeBinary = 1
Const lngPortion = 1024 ' 1048576
Dim objStream
Dim objHashedData
' CAPICOM 2.1.0.2 (http://support.microsoft.com/kb/931906/)
Set objHashedData = WScript.CreateObject("CAPICOM.HashedData")
Set objStream = WScript.CreateObject("ADODB.Stream")
objHashedData.Algorithm = CAPICOM_HASH_ALGORITHM_MD5
With objStream
.Type = adTypeBinary
.Open()
.LoadFromFile("C:\Install\Microsoft Windows Update\KB931906\CAPICOM-KB931906-v2102.exe")
Do Until .EOS
objHashedData.Hash .Read(lngPortion)
Loop
.Close
End With
WScript.Echo "MD5 Hash: [" & objHashedData.Value & "]"
Set objStream = Nothing
Set objHashedData = Nothing
WScript.Quit 0
Замечания:
* кроме MD5 также можно вычислять хэши (вычисление по алгоритмам SHA* потребует «Capicom.dll» выше версии 2.0.0.3):
Const CAPICOM_HASH_ALGORITHM_SHA1 = 0
Const CAPICOM_HASH_ALGORITHM_MD2 = 1
Const CAPICOM_HASH_ALGORITHM_MD4 = 2
Const CAPICOM_HASH_ALGORITHM_MD5 = 3
Const CAPICOM_HASH_ALGORITHM_SHA_256 = 4
Const CAPICOM_HASH_ALGORITHM_SHA_384 = 5
Const CAPICOM_HASH_ALGORITHM_SHA_512 = 6
* см. также тему VBScript: Вычисление хэша MD5 строки.
Автор идеи — abasov.