<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: вычисление хэша MD5 файла]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=4086&amp;type=atom" />
	<updated>2010-01-17T20:24:36Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=4086</id>
		<entry>
			<title type="html"><![CDATA[VBScript: вычисление хэша MD5 файла]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=32324#p32324" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>Option Explicit

Const CAPICOM_HASH_ALGORITHM_MD5 =       3
Const adTypeBinary               =       1

Const lngPortion                 =    1024 &#039; 1048576


Dim objStream
Dim objHashedData


&#039; CAPICOM 2.1.0.2 (http://support.microsoft.com/kb/931906/)
Set objHashedData = WScript.CreateObject(&quot;CAPICOM.HashedData&quot;)
Set objStream     = WScript.CreateObject(&quot;ADODB.Stream&quot;)

objHashedData.Algorithm = CAPICOM_HASH_ALGORITHM_MD5

With objStream
    .Type = adTypeBinary
    .Open()
    .LoadFromFile(&quot;C:\Install\Microsoft Windows Update\KB931906\CAPICOM-KB931906-v2102.exe&quot;)
    
    Do Until .EOS
        objHashedData.Hash .Read(lngPortion)
    Loop
    
    .Close
End With

WScript.Echo &quot;MD5 Hash: [&quot; &amp; objHashedData.Value &amp; &quot;]&quot;

Set objStream     = Nothing
Set objHashedData = Nothing

WScript.Quit 0</code></pre></div><p><em>Замечания:</em><br />* кроме MD5 также можно вычислять хэши (вычисление по алгоритмам SHA* потребует «Capicom.dll» выше версии 2.0.0.3):<br /></p><div class="codebox"><pre><code>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</code></pre></div><p>* см. также тему <a href="http://forum.script-coding.com/viewtopic.php?id=836">VBScript: Вычисление хэша MD5 строки</a>.</p><p>Автор идеи — <strong>abasov</strong>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2010-01-17T20:24:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=32324#p32324</id>
		</entry>
</feed>
