Ich habe aus langeweile einen verschlüsselungs algorythmus programmiert aber
irgendwie hat er beim verschlüsseln fehler und ich find einfach nicht den grund
vllt sieht ja einer von euch den fehler
Code
Function CryptText(ByVal Text As String, ByVal Password As String, ByVal Pin As String)
Dim STR As String = ""
Dim md5cp As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim md5 As String = System.Text.Encoding.ASCII.GetString(md5cp.ComputeHash(System.Text.Encoding.ASCII.GetBytes(Password)))
md5cp = Nothing
Dim Passwordarray() As Char = md5.ToCharArray
Dim chars(2) As Char
chars(0) = Passwordarray(Pin.Split(";")(0))
chars(1) = Passwordarray(Pin.Split(";")(1))
chars(2) = Passwordarray(Pin.Split(";")(2))
Dim Textarray() As Char = Text.ToCharArray
Dim x As Byte = 0
For Each c As Char In Textarray
Dim b1 As String = Convert.ToByte(c).ToString
Dim b2 As String = Convert.ToByte(Passwordarray(x)).ToString
If b1.Count <> 3 Then
Do Until b1.Count = 3
b1 = "0" + b1
Loop
End If
If b2.Count <> 3 Then
Do Until b2.Count = 3
b2 = "0" + b2
Loop
End If
Dim b1chars() As Char = b1.ToCharArray
Dim b2chars() As Char = b2.ToCharArray
STR += (Convert.ToInt16(b1chars(0)) + (Convert.ToInt16(b2chars(2)))).ToString & ":"
STR += (Convert.ToInt16(b1chars(1)) + (Convert.ToInt16(b2chars(0)))).ToString & ":"
STR += (Convert.ToInt16(b1chars(2)) + (Convert.ToInt16(b2chars(1)))).ToString
STR += ";"
Select Case x
Case 0
x += 1
Case 1
x += 1
Case 2
x = 0
End Select
Next
Return STR
End Function
Function DeCryptText(ByVal Text As String, ByVal Password As String, ByVal Pin As String)
Dim STR As String = ""
Dim md5cp As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim md5 As String = System.Text.Encoding.ASCII.GetString(md5cp.ComputeHash(System.Text.Encoding.ASCII.GetBytes(Password)))
md5cp = Nothing
Dim Passwordarray() As Char = md5.ToCharArray
Dim chars(2) As Char
chars(0) = Passwordarray(Pin.Split(";")(0))
chars(1) = Passwordarray(Pin.Split(";")(1))
chars(2) = Passwordarray(Pin.Split(";")(2))
Dim Textarray() As String = Text.Split(";")
Dim x As Byte = 0
For Each c As String In Textarray
Dim b2 As String = Convert.ToByte(Passwordarray(x)).ToString
If b2.Count <> 3 Then
Do Until b2.Count = 3
b2 = "0" + b2
Loop
End If
MsgBox(c)
Dim b1chars() As String = c.Split(":")
Dim b2chars() As Char = b2.ToCharArray
Dim Newbyte As String = ""
Newbyte = (Convert.ToInt16(b1chars(0)) - (Convert.ToInt16(b2chars(2)))).ToString
Newbyte &= (Convert.ToInt16(b1chars(1)) - (Convert.ToInt16(b2chars(0)))).ToString
Newbyte &= (Convert.ToInt16(b1chars(2)) - (Convert.ToInt16(b2chars(1)))).ToString
MsgBox(Newbyte)
STR += Chr(CByte(Convert.ToInt64(Newbyte)))
Select Case x
Case 0
x += 1
Case 1
x += 1
Case 2
x = 0
End Select
Next
Return STR
End Function
Alles anzeigen