[VB6 equivalent: AES128_UpdateHex]
Dim nRet As Integer Dim sBlock As String Dim strHexKey As String Dim strIV As String Dim sNext As String Dim sLast As String Dim sCorrect As String Dim j As Integer Dim oAes128 As Aes128 = Aes128.Instance() ' cbc_e_m.txt ' KEYSIZE=128 I=2 ' KEY=93286764A85146730E641888DB34EB47 ' IV=192D9B3AA10BB2F7846CCBA0085C657A ' PT=983BF6F5A6DFBCDAA19370666E83A99A ' CT=40D8DAF6D1FDA0A073B3BD18B7695D2E strHexKey = "93286764A85146730E641888DB34EB47" strIV = "192D9B3AA10BB2F7846CCBA0085C657A" sBlock = "983BF6F5A6DFBCDAA19370666E83A99A" sCorrect = "40D8DAF6D1FDA0A073B3BD18B7695D2E" Console.WriteLine("AES Monte Carlo CBC Mode Encrypt:") Console.WriteLine("KY=" & " " & strHexKey) Console.WriteLine("IV=" & " " & strIV) Console.WriteLine("PT=" & " " & sBlock) nRet = oAes128.InitEncrypt(strHexKey, Mode.CBC, strIV) If nRet <> 0 Then Console.WriteLine("ERROR: Failed to set context") Exit Sub End If ' Do 10,000 times sNext = sBlock sLast = "" For j = 0 To 9999 sBlock = sNext sBlock = oAes128.Update(sBlock) If j = 0 Then sNext = strIV Else sNext = sLast End If sLast = sBlock Next Console.WriteLine("CT=" & " " & sBlock) Console.WriteLine("OK=" & " " & sCorrect) oAes128.Dispose() Debug.Assert(sCorrect.ToLower = sBlock.ToLower)
See Also:
Aes128.Update Method (String)