|
| Autor |
Nachricht |
bla Coder

Anmeldedatum: 02.05.2008 Beiträge: 267
|
Verschlüsselung ohne sonderzeichen
Verfasst am: 19.07.2008, 20:20 |
|
|
hi,
ich suche eine verschlüsselung, die möglichst nur darstellbare zeichen beinhaltet, da bei zB rc4 oder xor es manchmal vorkommt, dass es beim darstellen in einer textbox zu fehlern kommt
kennt da jmd einen algorithmus |
|
| |
|
 |
KleinesVoodoo Coder

Anmeldedatum: 17.04.2008 Beiträge: 78
|
Verfasst am: 19.07.2008, 21:14 |
|
|
| Alle Chars in ihren dezimalen Ascii Identifier umwandeln? Wäre das 'ne Möglichkeit? |
|
| |
|
 |
bla Coder

Anmeldedatum: 02.05.2008 Beiträge: 267
|
Verfasst am: 20.07.2008, 10:30 |
|
|
meinst du damit, dass man jedes zeichen mittels asc("...") umwandelst oder wie? also es sollte eine verschlüsselung sein, welche mit passwort arbeitet und es sollte verschlüsselt genauso lang sein wie entschlüsselt^^ |
|
| |
|
 |
The-God-of-all Tutorial Leser

Anmeldedatum: 01.05.2008 Beiträge: 35
|
Verfasst am: 20.07.2008, 11:44 |
|
|
Ich glaube er meint, dass du den Text erst normal verschlüsselst mit Passwort und dann mit jedes einzelne der Verschlüsselten Zeichen mit Asc() den Asccii Code nimmst und den benutzt, weil du damit sicher stellst, dass du nach dem verschlüsseln nur darstellbare Zeichen hast. Ich würde dir dafür empfehlen den Verschlüsselten Text in Hexadezimale Zeichen umzusetzen. Hier zwei Funktionen die du dafür brauchen kannst:
Visual Basic: [code]Option Explicit
Public Function TextToHex(ByRef Text As String) As String Dim bytes() As Byte Dim i As Long Dim WritePos As Long Dim UB As Integer 'Initialisierung: TextToHex = Space$(LenB(Text)) bytes = StrConv(Text, vbFromUnicode)
'Bytes hexadezimal einpassen: WritePos = 1 UB = UBound(bytes) For i = LBound(bytes) To UB Mid$(TextToHex, WritePos) = ByteToHex(bytes(i)) WritePos = WritePos + 2 Next i End Function
Private Function ByteToHex(ByVal n As Byte) As String If n And &HF0 Then 'Hex$(n) ist bereits 2-stellig: ByteToHex = Hex$(n) Else 'Hex$(n) ist 1-stellig, also 0 davorsetzen: ByteToHex = "0" & Hex$(n) End If End Function
Public Function HexToText(ByVal Hexa As String) As String Dim i As Integer Dim LengthHexa As Integer LengthHexa = Len(Hexa) If LengthHexa Mod 2 <> 0 Then Exit Function For i = 1 To LengthHexa Step 2 HexToText = HexToText & Chr$(Val("&H" & Mid$(Hexa, i, 2))) Next i End Function [/code]
Einfach das in ein Modul einfügen und dann nach dem Verschlüsseln die Funktion TextToHex aufrufen und vor dem Entschlüsseln dann HexToText aufrufen. |
|
| |
|
 |
bla Coder

Anmeldedatum: 02.05.2008 Beiträge: 267
|
Verfasst am: 20.07.2008, 12:26 |
|
|
aaaah, perfekt, danke  |
|
| |
|
 |
KleinesVoodoo Coder

Anmeldedatum: 17.04.2008 Beiträge: 78
|
Verfasst am: 20.07.2008, 21:07 |
|
|
Und damit der Thread nicht unvollständig bleibt...
Visual Basic: [code]Function Text2Asc(Source As String) As String Dim Buf As String For i = 1 To Len(Source) Buf = Buf & Mid(Source, i, 1) Next
Text2Asc = Buf End Function[/code] |
|
| |
|
 |
|
|