Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
424to428
424to428
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

textdatei per vba verschlüsseln ?

textdatei per vba verschlüsseln ?
10.05.2004 16:54:49
dennis
hallo !
ich wollte mal wissen, ob so etwas auch per vba geht:
ich habe eine textdatei, die so ausieht:
andreas;kuhnert;münchen;deutschland
...
...
...
diese datei importiere ich dann in excel, um mit ihr zu arbeiten.
nun würde ich die datei aber gern verschlüsseln.
kann mir jemand vielleicht ein kleines beispiel dafür geben, wie man diese textdatei verschlüsseln kann, so dass jemand, der nur die textdatei ohne den entschlüsselungscode hat, nicht lesen kann ?
wichtig dabei ist, dass das entschlüsseln ganz schnell geht. die textdatei soll ja nur vor "normal-usern" geschützt werden.
danke euch !!!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: textdatei per vba verschlüsseln ?
ypsilon
hi dennis,
mit vba = gut kann ich dir den brocken ja einfach hinschmeissen:
viel spass ;-)
Function Verschlüsseln(ByVal s As String, key As Long) As String
Dim n As Long, i As Long, ss As String
Dim k1 As Long, k2 As Long, k3 As Long, k4 As Long, t As Long
Static saltvalue As String * 4
For i = 1 To 4
t = 100 * (1 + Asc(Mid(saltvalue, i, 1))) * Rnd() * (Timer + 1)
Mid(saltvalue, i, 1) = Chr(t Mod 256)
Next
s = Mid(saltvalue, 1, 2) & s & Mid(saltvalue, 3, 2)
n = Len(s)
ss = Space(n)
ReDim sn(n) As Long
k1 = 11 + (key Mod 233)
k2 = 7 + (key Mod 239)
k3 = 5 + (key Mod 241)
k4 = 3 + (key Mod 251)
For i = 1 To n
sn(i) = Asc(Mid(s, i, 1))
Next
For i = 2 To n
sn(i) = sn(i) Xor sn(i - 1) Xor ((k1 * sn(i - 1)) Mod 256)
Next
For i = n - 1 To 1 Step -1
sn(i) = sn(i) Xor sn(i + 1) Xor (k2 * sn(i + 1)) Mod 256
Next
For i = 3 To n
sn(i) = sn(i) Xor sn(i - 2) Xor (k3 * sn(i - 1)) Mod 256
Next
For i = n - 2 To 1 Step -1
sn(i) = sn(i) Xor sn(i + 2) Xor (k4 * sn(i + 1)) Mod 256
Next
For i = 1 To n
Mid(ss, i, 1) = Chr(sn(i))
Next
Verschlüsseln = ss
End Function
Function Entschlüsseln(ByVal s As String, key As Long) As String
Dim n As Long, i As Long, ss As String
Dim k1 As Long, k2 As Long, k3 As Long, k4 As Long
n = Len(s)
ss = Space(n)
ReDim sn(n) As Long
k1 = 11 + (key Mod 233)
k2 = 7 + (key Mod 239)
k3 = 5 + (key Mod 241)
k4 = 3 + (key Mod 251)
For i = 1 To n
sn(i) = Asc(Mid(s, i, 1))
Next
For i = 1 To n - 2
sn(i) = sn(i) Xor sn(i + 2) Xor (k4 * sn(i + 1)) Mod 256
Next
For i = n To 3 Step -1
sn(i) = sn(i) Xor sn(i - 2) Xor (k3 * sn(i - 1)) Mod 256
Next
For i = 1 To n - 1
sn(i) = sn(i) Xor sn(i + 1) Xor (k2 * sn(i + 1)) Mod 256
Next
For i = n To 2 Step -1
sn(i) = sn(i) Xor sn(i - 1) Xor (k1 * sn(i - 1)) Mod 256
Next
For i = 1 To n
Mid(ss, i, 1) = Chr(sn(i))
Next i
Entschlüsseln = Mid(ss, 3, Len(ss) - 4)
End Function

Private Sub Encrypt()
Dim Schlüssel As Long
Dim s As String, ss As String
Dim ff As Byte
ff = FreeFile
Schlüssel = 5544 'Codierungsschlüssel
Open "c:\original.txt" For Input As ff
Open "c:\crypt.txt" For Output As ff + 1
Do While Not EOF(ff)
Input #ff, s
ss = Verschlüsseln(s, Schlüssel)
Print #ff + 1, ss
Loop
Close
Kill "c:\original.txt"
End Sub


Private Sub Decrypt()
Dim Schlüssel As Long
Dim s As String, ss As String
Dim ff As Byte
ff = FreeFile
Schlüssel = 5544 'Codierungsschlüssel
Open "c:\original.txt" For Output As ff
Open "c:\crypt.txt" For Input As ff + 1
Do While Not EOF(ff + 1)
Input #ff + 1, s
ss = Entschlüsseln(s, Schlüssel)
Print #ff, ss
Loop
Close
Kill "c:\crypt.txt"
End Sub

cu Micha
Anzeige
vielen dank! da werd ich mich mal durchbeissen!!
10.05.2004 21:03:22
dennis

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige