VBSではCAPICOMオブジェクトを呼び出してSHA 1&MD 5の暗号化を実現します。

1467 ワード

自分で書くつもりでしたが、複雑なアルゴリズムの説明を見て、分かりにくくなりました。もういいです。既成のCOMオブジェクトの呼び出しがあって、アルゴリズムに関心を持つ必要がありますか?直接持ってきて使えばいいです。以下の例のコードヒントがオブジェクトを作成できない場合は、CAPICOMコンポーネントをダウンロードしますが必要です。

Const CAPICOM_HASH_ALGORITHM_MD2 = 1
Const CAPICOM_HASH_ALGORITHM_MD4 = 2
Const CAPICOM_HASH_ALGORITHM_MD5 = 3
Const CAPICOM_HASH_ALGORITHM_SHA1 = 0
Const CAPICOM_HASH_ALGORITHM_SHA_256 = 4
Const CAPICOM_HASH_ALGORITHM_SHA_384 = 5
Const CAPICOM_HASH_ALGORITHM_SHA_512 = 6

Dim HashedData
Set HashedData = CreateObject("CAPICOM.HashedData")
HashedData.Algorithm = CAPICOM_HASH_ALGORITHM_SHA1
HashedData.Hash "Demon"
WScript.Echo HashedData.Value
で指摘したいのは、VBSの文字列はUnicode符号化であり、例えば上の文字列「Demon」のメモリ内の16進数は4400 6500 D 6 F 00 6 E 00であり、これらのHashアルゴリズムはデータの2進数だけに関心を持ち、異なる符号化の同じ文字列の2進数値は同じではない。これは計算された値とPHP(PHPのデフォルトのコードはUTF-8)のshar 1(「Demon」)の値が異なる理由です。もっと多くのCAPICOMの使い方は自分で調べてください。
以下はVBSでファイルSHA 1とMD 5の値をチェックするプログラムです。ファイルをVBSにドラッグすればいいです。大きなファイルを処理できないのが欠点です。本文中のソフトウェアとvbsパッケージはMSDN参考文献原文をダウンロードします。http://demon.tw/programming/vbs-sha1-md5.html