指定されたアルゴリズムでデータをハッシュ化します。
#Include <Crypt.au3>
_Crypt_HashData($vData, $iALG_ID [, $fFinal = True [, $hCryptHash = 0]])
パラメータ
$vData | ハッシュ化するデータ |
$iALG_ID | 使用するハッシュのID |
$fFinal | [オプション] データが全データの一部だけの場合はFalse。また関数はハッシュの代わりにハッシュオブジェクトを返します。 |
$hCryptHash | [オプション] 直前の_Crypt_HashData呼び出しによって返されたハッシュオブジェクト |
返し値
成功: | ハッシュを返します。$fFinal=Falseの場合はハッシュオブジェクトを返します。 |
@errorを0に設定します | |
失敗: | -1を返し、@errorを設定します: |
1 - ハッシュオブジェクトの作成に失敗 | |
2 - データのハッシュ化に失敗 | |
3 - ハッシュサイズの取得に失敗 | |
4 - ハッシュの取得に失敗 |
注意
ハッシュ(ダイジェスト)はバイナリ列として返され、そのサイズはアルゴリズムによって決まります。データセットのセグメントと一緒に使用するには全ての非終了セグメント用にfFinalフラグをFalseに設定し、返されたハッシュオブジェクトを以降の全ての呼び出しで使用します。
関連
_Crypt_HashFile
こちらも参照
MSDNライブラリでCryptHashDataを検索して下さい。
例
#include <Crypt.au3>
; データのハッシュ化とそれを使用したパスワード認証の例
; 正しいパスワードでのMD5ハッシュ
$bPasswordHash="0xCE950A8D7D367B5CE038E636893B49DC"
$sPassword=InputBox("Login","Please type the correct password.","Yellow fruit that is popular among monkeys")
If _Crypt_HashData($sPassword,$CALG_MD5)=$bPasswordHash Then
MsgBox(64,"Access Granted","Password correct!")
Else
MsgBox(16,"Access Denied","You entered the wrong password!")
EndIf