Erstellt einen Hash für eine Zeichenfolge
#include <WinAPIConv.au3>
_WinAPI_HashString ( $sString [, $bCaseSensitive = True [, $iLength = 32]] )
| $sString | Die zu hashende Zeichenfolge. |
| $bCaseSensitive | [optional] Gibt an, ob die Zeichenfolge bei der Berechnung des Hashwerts als gültige Werte in Groß- und Kleinschreibung behandelt werden soll: True - Klein- und Großbuchstaben ergeben unterschiedliche Hashwerte (Standard). False - Klein- und Großbuchstaben ergeben dieselben Hashwerte. |
| $iLength | [optional] Die Länge der Hash-Daten, in Bytes. Sie sollte nicht größer als 256 sein, sonst schlägt die Funktion fehl. Die Voreinstellung ist 32. |
| Erfolg: | Die Hashdaten in binärer Form. |
| Fehler: | Setzt das @error Flag auf ungleich 0, das @extended Flag kann den HRESULT-Fehlercode enthalten. |
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIConv.au3>
#include <WindowsNotifsConstants.au3>
Global $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 96)
Global $Input1 = GUICtrlCreateInput('', 20, 20, 360, 20)
GUICtrlSetLimit(-1, 255)
Global $Input2 = 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 $hForm
Switch _WinAPI_LoWord($wParam)
Case $Input1
Switch _WinAPI_HiWord($wParam)
Case $EN_CHANGE
Local $Hash
$Hash = _WinAPI_HashString(GUICtrlRead($Input1), 0, 16)
If Not @error Then
GUICtrlSetData($Input2, $Hash)
Else
GUICtrlSetData($Input2, '')
EndIf
EndSwitch
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND