01. april 2001 - 18:20
Der er
3 kommentarer
Kryptering i VB
Hej med jer
Jeg mangler et enkelt, men godt krypteringsprogram lavet i VB 6.0
Hvis der følger en rapport med vil jeg sende ekstra point. Håber i kan hjælpe.
Simon
Kan du eventuelt beskrive hvad dit program skal kryptere, lidt om hvad dit program laver samt hvem det er der ikke må få adgang til oplysningerne. (der er stor forskel på om det er mod din lillebror eller hvis du er ved at lave et e-handelssystem :) )
Option Explicit
Private Function Decrypt(PlainStr As String, key As String)
Dim Char As String, KeyChar As String, NewStr As String
Dim Pos As Integer
Dim i As Integer, Side1 As String, Side2 As String
Pos = 1
\'This is a little trick to make it slightly harder to crack.
\'However, the chances of this operation firing is 50/50
\'because the length of the string must be divisable by 2.
If Len(PlainStr) Mod 2 = 0 Then
Side1 = StrReverse(Left(PlainStr, (Len(PlainStr) / 2)))
Side2 = StrReverse(Right(PlainStr, (Len(PlainStr) / 2)))
PlainStr = Side1 & Side2
End If
\'This loop decrypts the data.
For i = 1 To Len(PlainStr)
Char = Mid(PlainStr, i, 1)
KeyChar = Mid(key, Pos, 1)
NewStr = NewStr & Chr(Asc(Char) Xor Asc(KeyChar))
If Pos = Len(key) Then Pos = 0
Pos = Pos + 1
Next i
Decrypt = NewStr
End Function
Private Function Encrypt(PlainStr As String, key As String)
Dim Char As String, KeyChar As String, NewStr As String
Dim Pos As Integer
Dim i As Integer, Side1 As String, Side2 As String
Pos = 1
\'This loop encrypts the data.
For i = 1 To Len(PlainStr)
Char = Mid(PlainStr, i, 1)
KeyChar = Mid(key, Pos, 1)
NewStr = NewStr & Chr(Asc(Char) Xor Asc(KeyChar))
If Pos = Len(key) Then Pos = 0
Pos = Pos + 1
Next i
\'This is a little trick to make it slightly harder to crack.
\'However, the chances of this operation firing is 50/50
\'because the length of the string must be divisable by 2.
If Len(NewStr) Mod 2 = 0 Then
Side1 = StrReverse(Left(NewStr, (Len(NewStr) / 2)))
Side2 = StrReverse(Right(NewStr, (Len(NewStr) / 2)))
NewStr = Side1 & Side2
End If
Encrypt = NewStr
End Function
Brug:
X=Encrypt(\"key\",\"denne tekst er hemmelig\")
X=Decrypt(\"key\",\"[her er den hemmelig txt]\")