Einfache Methode um String zu verschlüsseln

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Make-Grafik.

    Einfache Methode um String zu verschlüsseln

    Hi,

    gibt es eine einfache Methode mit der man mit 4-5 Zeilen einen String soweit verschlüsselt, dass man diesen zumindest nicht direkt ablesen kann?
    Bei allem was ich bis jetzt gefunden habe geht es eher um maximale Sicherheit, entsprechend ist der Lösungsansatz dann auch 30-40 Zeilen lang.
    Mein Programm wird später nur auf bestimmten Pcs mit sehr eingeschränkten Nutzungsrechten ausgeführt (selbst der Explorer ist deaktiviert),
    von sind aufwändige Methoden mit Hash etc. nicht nötig.

    Ps: Der String hat ca. 90 Stellen.

    greetings
    Nils
    Option strict = on

    If it's stupid and it works it ain't stupid.

    Nils_Kr schrieb:

    Ist das das richtige?
    Sieh Dir den Output an.
    Das Encoding sorgt für die Zuordnung von Unicodezeichen zu 8-Bit-Zeichen mit einem gegebenen Ländercode.
    Speichere die Output-Bytes in einer Datei mit der Endung TXT und klick im Explorer drauf.
    Wahrscheinlich dürfte das für Deinen Anspruch etwas zu simpel sein.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jo, mit nem Onlineconverter hat man binnen einer Sekunde den Text wieder entschlüsselt. Dafür muss man aber erstmal wissen um was es sich
    dabei handelt. Ich werde mal Rücksprache halten, wie viel Aufwand ich da betreiben soll. Jetzt hab ich zumindest schonmal eine Methode mit
    der man einen String nicht mit dem bloßen Auge lesen kann (zumindest die meisten Leute nicht^^)
    Option strict = on

    If it's stupid and it works it ain't stupid.
    @ErfinderDesRades Jou.
    Ist aber einfach zu entschlüsseln.
    @Nils_Kr Wenn, dann nimm Dir ein Array von Schlüsselbytes (16 stück sollten für den Anfang reichen) und XORe das 1. mit dem 1., das 2. mit dem 2. usw. und wenn sie alle sind, fang von vorn wieder an.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    natürlich ists nur ein bischen Obfuscation, keine Verschlüsselung:

    VB.NET-Quellcode

    1. Private _Key As Byte = &HAA
    2. Private Function Encrypt(s As String) As Byte()
    3. Return Encoding.UTF8.GetBytes(s).Select(Function(b) b Xor _Key).ToArray
    4. End Function
    5. Private Function Decrypt(bytes As Byte()) As String
    6. Return Encoding.UTF8.GetString(bytes.Select(Function(b) b Xor _Key).ToArray)
    7. End Function

    Jou.
    Mein Array-Äquivalent dazu sieht dann so aus:

    VB.NET-Quellcode

    1. Private _Key() As Byte = {&HAA, &HBB, &HCC, &HDD, &HEE}
    2. Private _Len As Integer = _Key.Length
    3. Private Function Encrypt(s As String) As Byte()
    4. Return Encoding.UTF8.GetBytes(s).Select(Function(b, i) b Xor _Key(i Mod _Len)).ToArray
    5. End Function
    6. Private Function Decrypt(bytes As Byte()) As String
    7. Return Encoding.UTF8.GetString(bytes.Select(Function(b, i) b Xor _Key(i Mod _Len)).ToArray)
    8. End Function
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    €dit: Ups,... Ich bin durch eine Verlinkung von einem anderen Thread hier gelandet. Wollte eigentlich im anderen antworten. Sorry für die Leichenschänderei! :(


    Alter Text
    Wenn du wirklich eine einfache Verschlüsselung suchst, nimm einfach eine XOR-Verschlüsselung. Da mag der eine oder andere jetzt vielleicht drüber lachen, aber wenn man ein ordentliches (langes) Passwort hat, bekommt das keiner so schnell geknackt. Da mag mir jeder erzählen was er will! ^^