Question

Public Shared Function DESEncrypt(ByVal Data As String, ByVal Key As String) As Byte()
    Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
    Try
        Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Left(Key, 8))
        Dim InputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(Data)
        Dim des As New DESCryptoServiceProvider
        Dim ms As New MemoryStream
        Dim cs As New CryptoStream(ms, des.CreateEncryptor(bykey, IV), CryptoStreamMode.Write)
        cs.Write(InputByteArray, 0, InputByteArray.Length)
        cs.FlushFinalBlock()
        Return ms.ToArray()
    Catch ex As Exception
    End Try
End Function

this is what I currently have for my DES encryption, but as I am fairly new to VB.Net I can figure out how to make it use Triple DES rather than DES

Was it helpful?

Solution

Try this

       Public Shared Function DESEncrypt(ByVal Data As String, ByVal Key As String) As Byte()
    Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
    Try
        Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Left(Key, 24))


        If String.IsNullOrEmpty(Data) Then

            Throw New ArgumentException("No data passed", "input")

        ElseIf bykey Is Nothing OrElse bykey.Length <> 24 Then

            Throw New ArgumentException("Invalid Key. Key must be 24 bytes length", "key")

        End If

        Dim InputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(Data)

        Using ms As New IO.MemoryStream

            Using des As New Security.Cryptography.TripleDESCryptoServiceProvider


                Using cs As New Security.Cryptography.CryptoStream(ms, des.CreateEncryptor(bykey, IV), Security.Cryptography.CryptoStreamMode.Write)

                    cs.Write(InputByteArray, 0, InputByteArray.Length)
                    cs.FlushFinalBlock()
                    Return ms.ToArray()

                End Using

            End Using

        End Using

    Catch ex As Exception
    End Try

End Function
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top