Cipher (gb.openssl)
这个类封装了OpenSSL的密码(块和流)算法。参见
Wikipedia: Ciphers
静态属性
静态方法
加密和解密是使用Cipher类完成的。首先,你必须确定一个密码,比如CBC模式下的AES256。您可以从 Cipher.List 获得本地openssl支持的密码列表。从列表您将看到“AES-256-CBC”是一种受支持的方法(我想几乎无处不在)。您使用此字符串作为Cipher类的索引,获取具有可以进行加密和解密方法 .Cipher.Method 的对象,请参阅。例如:
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