SHA1-[SHA1ハッシュ値を算出する-ExcelVBA Class Modules]

NAME

SHA1– [SHA1クラスモジュール]

作成日:2014/02/04更新日:2014/02/05動作環境:[Excel 2000-2016]

SYNOPSIS

        Sub Main()
            Dim objSHA1 As New SHA1

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

DESCRIPTION


AN OUTLINE — 概要

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

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

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


PREPARATION — 準備

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

ダウンロードが完了したらzipファイルを解凍してください。そこに実行ファイルが含まれています。


HOW TO USE — 使用方法

 ダウンロードが完了したらマクロを有効にして開いてください。そこにサンプルモジュールと本モジュールが含まれています。
※クラスをエクスポート、インポートする事で別のExcelBookでも使用することが出来ます。

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

        Dim objSHA1 As New SHA1

  

○[Charset]オブジェクト「SHA1.Charset」プロパティ

 文字列の文字コードを指定するには、「SHA1.Charset」プロパティを使用します。
 指定可能な文字コードは[SHIFT-JIS][UTF-8][UNICODE]の三種類となります。
注:何も指定しない場合は[SHIFT-JIS]が設定されます。

        objSHA1.Charset = "UTF-8"

  

○[SHA1]オブジェクト「SHA1.SHA1」プロパティ

 ハッシュ値を求めたい文字列を指定するには、「SHA1.Text」プロパティを使用します。

        objSHA1.Text = "a"

  

○[FilePath]オブジェクト「SHA1.FilePath」プロパティ

 ハッシュ値を求めたいファイルを指定するには、「SHA1.FilePath」プロパティを使用します。

        objSHA1.FilePath = "C:\hoge.txt"

  

○文字列のハッシュ値を取得「SHA1.TextHash」メソッド

 [SHA1.Text]にて設定した文字列のハッシュ値を取得するには、「SHA1.TextHash」メソッドを使用します。

        value = objSHA1.TextHash

  

○ファイルのハッシュ値を取得「SHA1.FileHash」メソッド

 [SHA1.FilePath]にて設定したファイルのハッシュ値を取得するには、「SHA1.FileHash」メソッドを使用します。

        value = objSHA1.FileHash

  


EXAMPLE — 使用例

例1:文字列のハッシュ値を取得する。

       Sub Sample()
            Dim objSHA1 As New SHA1

            objSHA1.Text = "message digest"
            Debug.Print objSHA1.TextHash
        End Sub

  

例2:文字コードを指定して文字列のハッシュ値を取得する。

        Sub Sample()
            Dim objSHA1 As New SHA1

            objSHA1.Charset = "UTF-8"
            objSHA1.Text = "本日は晴天なり 2012/5/13"
            Debug.Print objSHA1.TextHash
        End Sub

  

例3:ファイルのハッシュ値を取得する。

        Sub Sample()
            Dim objSHA1 As New SHA1

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

  


REFERENCE

NameDescriptionSyntax

ATTENTION

・本ソフトを利用した事によるいかなる損害も一切の責任を負いません。

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


MEMO

本ソフトの[readme.txt]に「NAME/VERSION/AUTHOR/COPYRIGHT」が記載されています。


CONTRIBUTION

寄付歓迎

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


DOWNLOAD

<<—DOWNLOAD SHA1—>>


VERSION

Version:1.00 – Tue Feb 4, 2014
Version:1.01 – Wed Feb 5, 2014 | 他のハッシュクラスとメソッド名を統一するため次のメソッド名を変更
[Strings]→[Text]/[SHA1String]→[TextHash]/[SHA1File]→[FileHash]


AUTHOR

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