CryptoSys API examples VB6 to VB.NET

AES128_B64Mode

Encrypts or decrypts data represented as a base64 string using a specified mode.

VB6/VBA

Debug.Print "Testing AES128_B64Mode ..."
Dim nRet As Long
Dim strOutput As String
Dim strInput As String
Dim strKey As String
Dim strIV As String
Dim bEncrypt As Boolean
Dim sCorrect As String

' Case #4: Encrypting 64 bytes (4 blocks) using AES-CBC with 128-bit key
' Key       : 0x56e47a38c5598974bc46903dba290349
strKey = "VuR6OMVZiXS8RpA9uikDSQ=="
' IV        : 0x8ce82eefbea0da3c44699ed7db51b7d9
strIV = "jOgu776g2jxEaZ7X21G32Q=="
' Plaintext : 0xa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
'               b0b1b2b3b4b5b6b7b8b9babbbcbdbebf
'               c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
'               d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
strInput = "oKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/" _
& "AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3w=="
' Ciphertext: 0xc30e32ffedc0774e6aff6af0869f71aa
'               0f3af07a9a31a9c684db207eb0ef8e4e
'               35907aa632c3ffdf868bb7b29d3d46ad
'               83ce9f9a102ee99d49a53e87f4c3da55
sCorrect = "ww4y/+3Ad05q/2rwhp9xqg868HqaManGhNsgfrDvjk" _
& "41kHqmMsP/34aLt7KdPUatg86fmhAu6Z1JpT6H9MPaVQ=="

' Set strOutput to be same length as strInput
strOutput = String(Len(strInput), " ")

Debug.Print "KY=", strKey
Debug.Print "IV=", strIV
Debug.Print "PT=", strInput
nRet = AES128_B64Mode(strOutput, strInput, strKey, ENCRYPT, "CBC", strIV)
Debug.Print "CT=", strOutput, nRet
Debug.Print "OK=", sCorrect

strInput = strOutput
nRet = AES128_B64Mode(strOutput, strInput, strKey, DECRYPT, "CBC", strIV)
Debug.Print "P'=", strOutput, nRet

Output

Testing AES128_B64Mode ...
KY=   VuR6OMVZiXS8RpA9uikDSQ==
IV=   jOgu776g2jxEaZ7X21G32Q==
PT=   oKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3w==
CT=   ww4y/+3Ad05q/2rwhp9xqg868HqaManGhNsgfrDvjk41kHqmMsP/34aLt7KdPUatg86fmhAu6Z1JpT6H9MPaVQ==   0 
OK=   ww4y/+3Ad05q/2rwhp9xqg868HqaManGhNsgfrDvjk41kHqmMsP/34aLt7KdPUatg86fmhAu6Z1JpT6H9MPaVQ==
P'=   oKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3w==   0 

VB.NET

Console.WriteLine("Testing AES128_B64Mode ...")
Dim nRet As Integer
Dim strOutput As String
Dim strInput As String
Dim strKey As String
Dim strIV As String
''Dim bEncrypt As Boolean
Dim sCorrect As String

' Case #4: Encrypting 64 bytes (4 blocks) using AES-CBC with 128-bit key
' Key       : 0x56e47a38c5598974bc46903dba290349
strKey = "VuR6OMVZiXS8RpA9uikDSQ=="
' IV        : 0x8ce82eefbea0da3c44699ed7db51b7d9
strIV = "jOgu776g2jxEaZ7X21G32Q=="
' Plaintext : 0xa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
'               b0b1b2b3b4b5b6b7b8b9babbbcbdbebf
'               c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
'               d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
strInput = "oKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/" _
& "AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3w=="
' Ciphertext: 0xc30e32ffedc0774e6aff6af0869f71aa
'               0f3af07a9a31a9c684db207eb0ef8e4e
'               35907aa632c3ffdf868bb7b29d3d46ad
'               83ce9f9a102ee99d49a53e87f4c3da55
sCorrect = "ww4y/+3Ad05q/2rwhp9xqg868HqaManGhNsgfrDvjk" _
& "41kHqmMsP/34aLt7KdPUatg86fmhAu6Z1JpT6H9MPaVQ=="

' Set strOutput to be same length as strInput
''strOutput = String(Len(strInput), " ")

Console.WriteLine("KY=" & strKey)
Console.WriteLine("IV=" & strIV)
Console.WriteLine("PT=" & strInput)
strOutput = Aes128.Encrypt(strInput, strKey, Mode.CBC, strIV, EncodingBase.Base64)
Console.WriteLine("CT=" & strOutput, nRet)
Console.WriteLine("OK=" & sCorrect)

strInput = strOutput
strOutput = Aes128.Decrypt(strInput, strKey, Mode.CBC, strIV, EncodingBase.Base64)
Console.WriteLine("P'=" & strOutput, nRet)

[Contents]

[HOME]   [NEXT: AES128_Bytes...]

Copyright © 2009-20 D.I. Management Services Pty Ltd. All rights reserved.