CryptoSys API examples VB6 to VB.NET

BLF_Bytes

Encrypts or decrypts an array of Bytes in one step in Electronic Codebook (EBC) mode.

VB6/VBA

Debug.Print "Testing BLF_Bytes ..."
Dim nRet As Long
Dim strInput As String
Dim strKey As String
Dim sCorrect As String
Dim nKeyLen As Long
Dim abKey() As Byte
Dim abOutput() As Byte
Dim abData() As Byte
Dim nDataLen As Long

' Define test vectors in hex
strKey = "FEDCBA9876543210"
strInput = "0123456789ABCDEF0123456789ABCDEF"
sCorrect = "0ACEAB0FC6A0A28D0ACEAB0FC6A0A28D"

' Convert to byte arrays and compute lengths
nKeyLen = Len(strKey) \ 2
abKey = cnvBytesFromHexStr(strKey)
nDataLen = Len(strInput) \ 2
abData = cnvBytesFromHexStr(strInput)

' Dimension array for output
ReDim abOutput(nDataLen - 1)

Debug.Print "KY=", cnvHexStrFromBytes(abKey)
Debug.Print "PT=", cnvHexStrFromBytes(abData)
' Encrypt in one-off process
nRet = BLF_Bytes(abOutput(0), abData(0), nDataLen, abKey(0), nKeyLen, ENCRYPT)
Debug.Print "CT=", cnvHexStrFromBytes(abOutput), nRet
Debug.Print "OK=", sCorrect

' Now decrypt back
nRet = BLF_Bytes(abData(0), abOutput(0), nDataLen, abKey(0), nKeyLen, DECRYPT)
Debug.Print "P'=", cnvHexStrFromBytes(abData), nRet

Output

Testing BLF_Bytes ...
KY=   FEDCBA9876543210
PT=   0123456789ABCDEF0123456789ABCDEF
CT=   0ACEAB0FC6A0A28D0ACEAB0FC6A0A28D           0 
OK=   0ACEAB0FC6A0A28D0ACEAB0FC6A0A28D
P'=   0123456789ABCDEF0123456789ABCDEF           0 

VB.NET

Console.WriteLine("Testing BLF_Bytes ...")
''Dim nRet As Integer
Dim strInput As String
Dim strKey As String
Dim sCorrect As String
''Dim nKeyLen As Integer
Dim abKey() As Byte
Dim abOutput() As Byte
Dim abData() As Byte
''Dim nDataLen As Integer
' Define test vectors in hex
strKey = "FEDCBA9876543210"
strInput = "0123456789ABCDEF0123456789ABCDEF"
sCorrect = "0ACEAB0FC6A0A28D0ACEAB0FC6A0A28D"
' Convert to byte arrays and compute lengths
''nKeyLen = Len(strKey) \ 2
abKey = Cnv.FromHex(strKey)
''nDataLen = Len(strInput) \ 2
abData = Cnv.FromHex(strInput)
' Dimension array for output
''ReDim abOutput(nDataLen - 1)
Console.WriteLine("KY=" & " " & Cnv.ToHex(abKey))
Console.WriteLine("PT=" & " " & Cnv.ToHex(abData))
' Encrypt in one-off process
abOutput = Blowfish.Encrypt(abData, abKey, Mode.ECB, Nothing)
Console.WriteLine("CT=" & " " & Cnv.ToHex(abOutput))
Console.WriteLine("OK=" & " " & sCorrect)
' Now decrypt back
abOutput = Blowfish.Decrypt(abData, abKey, Mode.ECB, Nothing)
Console.WriteLine("P'=" & " " & Cnv.ToHex(abData))

[Contents]

[HOME]   [NEXT: BLF_BytesMode...]

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