Opened 13 years ago
Last modified 13 years ago
#2263 closed Feature Request
Add CryptGenRandom Function to Crypt.au3 UDF — at Version 4
| Reported by: | wraithdu | Owned by: | |
|---|---|---|---|
| Milestone: | 3.3.9.5 | Component: | Standard UDFs |
| Version: | Severity: | None | |
| Keywords: | crypt udf cryptgenrandom | Cc: |
Description (last modified by guinness)
Here's the function:
; #FUNCTION# ===================================================================
; Name...........: _Crypt_GenRandom
; Description ...: Fill a buffer with cryptographically random data.
; Syntax.........: _Crypt_GenRandom($pBuffer, $iSize)
; Parameters ....: $pBuffer - Pointer to buffer to fill with random data.
; $iSize - Size of the buffer pointed to by $pBuffer.
; Return values .: Success - Returns True
; Failure - Returns False and sets @error.
; Author ........: Erik Pilsits (wraithdu)
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........: @@MsdnLink@@ CryptGenRandom
; Example .......: Yes
; ==============================================================================
Func _Crypt_GenRandom($pBuffer, $iSize)
_Crypt_Startup()
Local $aRet = DllCall(__Crypt_DllHandle(), "bool", "CryptGenRandom", "handle", __Crypt_Context(), "dword", $iSize, "ptr", $pBuffer)
Local $nError = @error
_Crypt_Shutdown()
If $nError Or (Not $aRet[0]) Then
Return SetError(1, 0, False)
Else
Return True
EndIf
EndFunc ;==>_Crypt_GenRandom
Change History (4)
comment:1 Changed 13 years ago by TicketCleanup
- Version 3.3.9.4 deleted
comment:2 Changed 13 years ago by wraithdu
I goofed a parameter. The first parameter should be $pBuffer.
Also this should be added to the Remarks:
MSDN notes about the buffer: Optionally, the application can fill this buffer with data to use as an auxiliary random seed.
comment:3 Changed 13 years ago by wraithdu
Example:
#include <Crypt.au3>
; generate 16 bytes of random data
Local $buff = DllStructCreate("byte[16]")
_Crypt_GenRandom(DllStructGetPtr($buff), DllStructGetSize($buff))
MsgBox(0, "Random data:", DllStructGetData($buff, 1))
comment:4 Changed 13 years ago by guinness
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.

Automatic ticket cleanup.