CryptoSys PKI Toolkit Manual

Example: Cipher.Decrypt  Cipher.Encrypt 

[VB6 equivalent: CIPHER_Bytes]

''Dim nRet As Integer
Dim strOutput As String
Dim strInput As String
Dim sCorrect As String
Dim abKey() As Byte
Dim abInitV() As Byte
Dim abResult() As Byte
Dim abData() As Byte
Dim abCheck() As Byte
''Dim nDataLen As Integer

' Set up input in byte arrays
strInput = "Now is the time for all good men"
sCorrect = "C3153108A8DD340C0BCB1DFE8D25D2320EE0E66BD2BB4A313FB75C5638E9E177"
abKey = Cnv.FromHex("0123456789ABCDEFF0E1D2C3B4A59687")
abInitV = Cnv.FromHex("FEDCBA9876543210FEDCBA9876543210")
abData = System.Text.Encoding.Default.GetBytes(strInput)
''nDataLen = UBound(abData) - LBound(abData) + 1

' Pre-dimension output array
''ReDim abResult(nDataLen - 1)

Console.WriteLine("KY=" & Cnv.ToHex(abKey))
Console.WriteLine("IV=" & Cnv.ToHex(abInitV))
Console.WriteLine("PT=" & strInput)
Console.WriteLine("PT=" & Cnv.ToHex(abData))
' Encrypt in one-off process (abResult <-- abData)
abResult = Cipher.Encrypt(abData, abKey, abInitV, CipherAlgorithm.Tdea, Mode.CBC)
''Console.WriteLine("CIPHER_Bytes(ENCRYPT) returns " & nRet)
Console.WriteLine("CT=" & Cnv.ToHex(abResult))
Console.WriteLine("OK=" & sCorrect)

' Now decrypt back (abCheck <-- abResult)
''ReDim abCheck(nDataLen - 1)
abCheck = Cipher.Decrypt(abResult, abKey, abInitV, CipherAlgorithm.Tdea, Mode.CBC)
''Console.WriteLine("CIPHER_Bytes(DECRYPT) returns " & nRet)
' And decode back from a byte array into a string
Console.WriteLine("P'=" & Cnv.ToHex(abCheck))
strOutput = System.Text.Encoding.Default.GetString(abCheck)
Console.WriteLine("P'=" & strOutput)

See Also:
Cipher.Decrypt Method (Byte[], Byte[], Byte[], CipherAlgorithm, Mode)
Cipher.Encrypt Method (Byte[], Byte[], Byte[], CipherAlgorithm, Mode)

[Contents] [Index]

[HOME]   [NEXT: Example: Cipher.FileDecrypt ...]

Copyright © 2004-12 D.I. Management Services Pty Ltd. All rights reserved.