NAME

        MD5 -- MD5 クラスモジュール
		


SYNOPSIS

        Sub Main()
            Dim objMD5 As New MD5

            objMD5.Text = "a"
            Debug.Print objMD5.TextHash
        End Sub
		

DESCRIPTION



AN OUTLINE -- 概要

ExcelVBAから文字列やファイルのハッシュ値を求めることが出来るクラスモジュールです。他のモジュールを使用していないので、Excelが動作する環境であれば、ファイル内で完結した処理が行えます。

なお、MD5の処理に関しては[http://www.ipa.go.jp/security/rfc/RFC1321JA.html]の[md5c.c]を[VBAコード]に書き直しています。

主な機能:
・指定した文字列、ファイルのハッシュ値を求めることが出来る。
・他のモジュールを使用しないため、Excelファイル内で処理を完結することが出来る。
・三種類の文字コード([SHIFT-JIS/UTF-8/UNICODE)コードを扱ったハッシュ変換が出来る。



PREPARATION -- 準備

[DOWNLOAD] から、本ExcelBookをダウンロードします。

ダウンロードが完了したらマクロを有効にして開いてください。そこにサンプルモジュールと本モジュールが含まれています。

※クラスをエクスポート、インポートする事で別のExcelBookでも使用することが出来ます。



HOW TO USE -- 使用方法

最初に[Dim objMD5 As New MD5]を宣言し、オブジェクトを使用可能にします。
オブジェクトを[Dim objMD5]とした場合の記述方法は以下の通りです。

        Dim objMD5 As New MD5
		
○[Charset]オブジェクト「MD5.Charset」プロパティ
文字列の文字コードを指定するには、「MD5.Charset」プロパティを使用します。
指定可能な文字コードは[SHIFT-JIS][UTF-8][UNICODE]の三種類となります。
注:何も指定しない場合は[SHIFT-JIS]が設定されます。
        objMD5.Charset = "UTF-8"
		
○[SHA1]オブジェクト「MD5.SHA1」プロパティ
ハッシュ値を求めたい文字列を指定するには、「MD5.Text」プロパティを使用します。
        objMD5.Text = "a"
		
○[FilePath]オブジェクト「MD5.FilePath」プロパティ
ハッシュ値を求めたいファイルを指定するには、「MD5.FilePath」プロパティを使用します。
        objMD5.FilePath = "C:\hoge.txt"
		
○文字列のハッシュ値を取得「MD5.TextHash」メソッド
[MD5.Text]にて設定した文字列のハッシュ値を取得するには、「MD5.TextHash」メソッドを使用します。
        value = objMD5.TextHash
		
○ファイルのハッシュ値を取得「MD5.FileHash」メソッド
[MD5.FilePath]にて設定したファイルのハッシュ値を取得するには、「MD5.FileHash」メソッドを使用します。
        value = objMD5.FileHash
		


EXAMPLE -- 使用例

例1:文字列のハッシュ値を取得する。
        Sub Sample()
            Dim objMD5 As New MD5

            objMD5.Text = "message digest"
            Debug.Print objMD5.TextHash
        End Sub
		
例2:文字コードを指定して文字列のハッシュ値を取得する。
        Sub Sample()
            Dim objMD5 As New MD5

            objMD5.Charset = "UTF-8"
            objMD5.Text = "本日は晴天なり 2012/5/13"
            Debug.Print objMD5.TextHash
        End Sub
		
例3:ファイルのハッシュ値を取得する。
        Sub Sample()
            Dim objMD5 As New MD5

            objMD5.FilePath = "C:\hoge.txt"
            Debug.Print objMD5.FileHash
        End Sub
		


REFERENCE

Name Description Syntax


ATTENTION

・本クラスモジュールを利用した事によるいかなる損害も一切の責任を負いません。

・感想や要望、不具合などありましたら、作者までご連絡ください。



MEMO

本モジュールの本文中に「NAME/VERSION/AUTHOR/COPYRIGHT」が記載されています。



CONTRIBUTION

寄付歓迎

本モジュールはフリーですが、「このモジュールのおかげで、素晴らしいソフトが作れた」など、寄付をしていただける方がいましたら、作者宛までご一報ください。

なお受け付けている物は、お金(日本通貨円)、食料(酒/缶詰/お米など)となっております。



DOWNLOAD

<<---DOWNLOAD MD5--->>



VERSION

Version:1.00 - Sun May 13, 2012
Version:1.01 - Fri Jul 5, 2013 | [MD5.MDFile](MD5.FileHash)実行時に対象ファイルがない場合、空白として処理する。
Version:1.02 - Wed Feb 5, 2014 | 他のハッシュクラスとメソッド名を統一するため次のメソッド名を変更
[Strings]→[Text]/[MDString]→[TextHash]/[MDFile]→[FileHash]



AUTHOR

Syunzi Shimohata < webmaster@taru-net.jp > http://www.taru-net.jp/