fb:porticula NoPaste
Zufallszahlen unter Windows
Uploader: | MOD |
Datum/Zeit: | 03.09.2011 20:34:13 |
' Benötigte Windows-Header
#Include Once "windows.bi"
#Include Once "win/wincrypt.bi"
' Variablen für die Initialisierung des Cryptographic Service Providers
Dim As HCRYPTPROV hCryptProv = NULL
Dim As LPCSTR UserName = @"MyKeyContainer"
' Union zur einfachen Verwaltung der Zufallszahl
Union zufallsZahlUnion
As Byte zahlByte(4)
As Integer zahl
End Union
Dim As zufallsZahlUnion zufallsZahl
' Initialisierung des Cryptographic Service Providers
If CryptAcquireContext(@hCryptProv, UserName, 0, PROV_RSA_FULL, 0) = TRUE Then
' Anforderung einer Zufallszahl
If CryptGenRandom(hCryptProv, 4, @zufallsZahl.zahlByte(0)) = TRUE Then
Print "Die Zufallszahl ist:", zufallsZahl.zahl
' Cryptographic Service Provider schließen
If CryptReleaseContext(hCryptProv, 0) = TRUE Then
Print "Cryptographic Service Provider geschlossen."
Else
Print "Konnte Cryptographic Service Provider nicht schliessen."
EndIf
Else
Print "Keine Zufallszahl erhalten."
EndIf
Else
Print "Fehler beim Initialisieren des Cryptographic Service Provider:", GetLastError()
EndIf
Sleep