指定されたアルゴリズムで文字列をハッシュ化します。
#Include <Crypt.au3>
_Crypt_HashFile($sFile, $iALG_ID)
パラメータ
$sFile | ハッシュ化するファイルのパス |
$iALG_ID | 使用するハッシュのID |
返し値
成功: | ファイルのハッシュを返します |
@errorを0に設定します | |
失敗: | -1を返し、@errorを設定します: |
1 - ファイルオープンに失敗 | |
2 - 最終要素のハッシュ化に失敗 | |
3 - ハッシュ要素の取得に失敗 |
注意
なし。
関連
_Crypt_HashData
例
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <Crypt.au3>
; ファイルのハッシュ化の例
; GUIを作成
$hWnd=GUICreate("Hasher",370,60)
$hFileControl=GUICtrlCreateInput("",5,5,200,20)
$hBrowseButton=GUICtrlCreateButton("...",210,5,35,20)
$hHashCombo=GUICtrlCreateCombo("MD5",250,5,50,20)
GUICtrlSetData(-1,"MD2|MD4|SHA1")
$hCalcButton=GUICtrlCreateButton("Calculate",305,5,60,20)
$hHashLabel=GUICtrlCreateLabel("Hash Digest",5,35,365,20,$SS_CENTER)
GUISetState(@SW_SHOW)
_Crypt_Startup()
Do
$msg=GUIGetMsg()
Switch $msg
Case $hBrowseButton
$sFile=FileOpenDialog("Open file","","All files (*.*;)")
GUICtrlSetData($hFileControl,$sFile)
Case $hCalcButton
$iALG_ID=0
; ユーザーはどのアルゴリズムを選択したか?
Switch GUICtrlread($hHashCombo)
Case "MD2"
$iALG_ID=$CALG_MD2
Case "MD4"
$iALG_ID=$CALG_MD4
Case "MD5"
$iALG_ID=$CALG_MD5
Case "SHA1"
$iALG_ID=$CALG_SHA1
Case Else
MsgBox(16,"Error","Not a valid algorithm!")
ContinueLoop
EndSwitch
$sFile=GUICtrlRead($hFileControl)
If Not FileExists($sFile) Then
MsgBox(16,"Error","Invalid file")
ContinueLoop
EndIf
$bDigest=_Crypt_HashFile($sFile,$iALG_ID)
GUICtrlSetData($hHashLabel,$bDigest)
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
Until False
_Crypt_Shutdown()