Hache une chaîne
#include <WinAPIConv.au3>
_WinAPI_HashString ( $sString [, $bCaseSensitive = True [, $iLength = 32]] )
$sString | La chaîne à hacher. |
$bCaseSensitive | [optionnel] Spécifie si le traitement doit être sensible à la casse lors du calcul de la valeur de hachage, les valeurs valides sont: True - Hachage de la chaîne sensible à la casse (par défaut). Faux - Hachage de la chaîne insensible à la casse. |
$iLength | [optionnel] La longueur des données de hachage, en octets. Elle ne doit pas être supérieure à 256, sinon, la fonction échoue. La valeur par défaut est 32. |
Succès: | Retourne les données de hachage sous forme binaire. |
Échec: | Définit @error <> 0, @extended contient le code d'erreur HRESULT. |
#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WinAPIConv.au3> #include <WindowsConstants.au3> Global $g_hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 400, 96) Global $g_idInput1 = GUICtrlCreateInput('', 20, 20, 360, 20) GUICtrlSetLimit(-1, 255) Global $g_idInput2 = GUICtrlCreateInput('', 20, 56, 360, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_READONLY)) GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND') GUISetState(@SW_SHOW) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg, $lParam Switch $hWnd Case $g_hForm Switch _WinAPI_LoWord($wParam) Case $g_idInput1 Switch _WinAPI_HiWord($wParam) Case $EN_CHANGE Local $dHash $dHash = _WinAPI_HashString(GUICtrlRead($g_idInput1), False, 16) If Not @error Then GUICtrlSetData($g_idInput2, $dHash) Else GUICtrlSetData($g_idInput2, '') EndIf EndSwitch EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND