Modify

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#2263 closed Feature Request (Completed)

Add CryptGenRandom Function to Crypt.au3 UDF

Reported by: wraithdu Owned by: AdmiralAlkex
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

Attachments (0)

Change History (10)

comment:1 by TicketCleanup, 13 years ago

Version: 3.3.9.4

Automatic ticket cleanup.

comment:2 by wraithdu, 13 years ago

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 by wraithdu, 13 years ago

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 by guinness, 13 years ago

Description: modified (diff)

comment:5 by AdmiralAlkex, 13 years ago

Owner: set to AdmiralAlkex
Status: newassigned

Whoever commits this need to remove the DllStructGetPtr() and fix the dll call.

Seems okay otherwise, so I'm assigning it to me and giving you a few days to comment if there's anything else.

comment:6 by guinness, 13 years ago

What was the outcome of this?

comment:7 by AdmiralAlkex, 13 years ago

This ticket is referenced in revision: [7512]

comment:8 by AdmiralAlkex, 13 years ago

This ticket is referenced in revision: [7513]

comment:9 by AdmiralAlkex, 13 years ago

Milestone: 3.3.9.5
Resolution: Completed
Status: assignedclosed

Added by revision [7514] in version: 3.3.9.5

in reply to:  6 comment:10 by AdmiralAlkex, 13 years ago

Replying to guinness:

What was the outcome of this?

The Vogons did it.

Modify Ticket

Action
as closed The owner will remain AdmiralAlkex.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.