Sample code for 30+ languages & platforms
PureBasic

Example: Crypt2.GenRandomBytesENC method

Shows how to use the GenRandomBytesENC method to generate a specified number of random bytes and return them as a binary encoded string, such as in base64 or hex format.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkCrypt2.pb"

Procedure ChilkatExample()

    crypt.i = CkCrypt2::ckCreate()
    If crypt.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Example of a some of the binary encodings supported by Chilkat.

    ; Internally uses the Fortuna cryptographically secure random number generation algorithm
    ; auto-seeded from a secure source of entropy that depends on the OS.

    CkCrypt2::setCkEncodingMode(crypt, "hex")
    s.s = CkCrypt2::ckGenRandomBytesENC(crypt,8)
    Debug "Uppercase Hex: " + s

    CkCrypt2::setCkEncodingMode(crypt, "hex_lower")
    s = CkCrypt2::ckGenRandomBytesENC(crypt,8)
    Debug "Lowercase Hex: " + s

    CkCrypt2::setCkEncodingMode(crypt, "base64")
    s = CkCrypt2::ckGenRandomBytesENC(crypt,8)
    Debug "Base64: " + s

    CkCrypt2::setCkEncodingMode(crypt, "base64url")
    s = CkCrypt2::ckGenRandomBytesENC(crypt,8)
    Debug "Base64Url: " + s

    CkCrypt2::setCkEncodingMode(crypt, "base58")
    s = CkCrypt2::ckGenRandomBytesENC(crypt,8)
    Debug "Base58: " + s

    CkCrypt2::setCkEncodingMode(crypt, "base32")
    s = CkCrypt2::ckGenRandomBytesENC(crypt,8)
    Debug "Base32: " + s

    CkCrypt2::setCkEncodingMode(crypt, "decList")
    s = CkCrypt2::ckGenRandomBytesENC(crypt,8)
    Debug "Decimal List: " + s

    ; Sample Output:

    ; Uppercase Hex: 1BA0E87915C3B429
    ; Lowercase Hex: 1e1638a1c7996c58
    ; Base64: 1lV0I/su5lg=
    ; Base64Url: Zq7DU0nukLk
    ; Base58: foUVWUjAT6e
    ; Base32: LHV5RV4HRCLW2===
    ; Decimal List: 168,55,214,82,93,154,191,164


    CkCrypt2::ckDispose(crypt)


    ProcedureReturn
EndProcedure