Cipher

Cipher (gb.openssl)

This class wraps the cipher (block and stream) algorithms of OpenSSL. See Wikipedia: Ciphers for a start on ciphers.
This class is static. This class acts like a read-only static array.
Static properties Static methods
IsSupported Checks if the cipher method Method is supported by the OpenSSL library installed on the system.
En- and decryption is done using the Cipher class. First, you have to settle on a cipher, say AES256 in CBC mode. You can get a list of ciphers that your local openssl supports from Cipher.List. You'll see that "AES-256-CBC" is a supported method (I suppose virtually everywhere). You use this string as an index into the Cipher class to get a .Cipher.Method object which can do en- and decryption, see . For example:
Use "gb.openssl" 'For Gambas Script Only

Public Sub Main()
Dim sCipher, sData As String

sCipher = Cipher["AES-256-CBC"].EncryptSalted("Hello there", "secret")
Print "Cipher text (base64):";; Base64$(sCipher)
sData = Cipher["AES-256-CBC"].DecryptSalted(sCipher, "secret")
Print "Decrypted:";; sData

Try Cipher["AES-256-CBC"].DecryptSalted(sCipher, "wrong")
If Error Then Print "ERROR:";; Error.Text
End
Cipher text (base64): U2FsdGVkX1+j36HLTJVWjG2ciDw2ZOk/dhbdB7aiTOg=
Decrypted: Hello there
ERROR: Decryption failed

AltStyle によって変換されたページ (->オリジナル) /