Einfachste Weg, um zu verschleiern und Entwirre ein string in JavaScript
Ich bin auf der Suche nach einem Weg, um zu verschleiern und Entwirre ein string in JavaScript; damit meine ich die Verschlüsselung und die Entschlüsselung, wenn die Sicherheit ist nicht ein Problem. Im Idealfall etwas, das native JS (wie base64_encode()
und base64_decode()
in PHP) "drehen Sie einen string in etwas anderes und wieder zurück", ohne zu schreiben, eine Funktion.
Anregungen willkommen!
Der Teil über "Verschlüsselung und Entschlüsselung, wenn die Sicherheit ist nicht ein Problem" hat mich wirklich verwirrt. Wenn die Sicherheit der Inhalte ist ohne Belang, was mit dem Wert passiert bei der Verschlüsselung?
Es ist nützlich bei der Abschreckung die Durchschnittliche Joe aus der Inspektion einer gegebenen Logik in Ihrer Anwendung. Genaugenommen sogar windows-binaries können, werden reverse engineered, und als solche könnte man sagen, dass das kompilieren eines C++ - Quellcode in ausführbare bietet keine zusätzliche Sicherheit. Meiner Meinung nach ist dies nur eine Frage der Herstellung das Leben von Dieben, die mehr Elend, wenn auch auf verschiedenen Ebenen.
Jesus, wenn es nicht 'Sinn', dann warum noch kommentieren? Wir haben nicht, Ihnen zu sagen, warum wollen wir verschleiern unser code, ist irrelevant. Was relevant ist, WIE. Zum Beispiel, für mein Spiel, ich store client-Seite, Daten im json-format und der Durchschnittliche Nutzer könnten leicht finden. Aber, wenn ich verschleiern, dass der Durchschnittliche Benutzer wird wie 'oh Wow, keine Ahnung", und bewegen sich entlang. (Natürlich könnten Sie buchstäblich nur kopieren und einfügen in der Konsole, aber Sie weiß nicht, dass). Das ist nur ein Grund, und ganz ehrlich gesagt, es ist nicht Ihre Sache.
Konnte nicht mehr Zustimmen mit NiCk. Zu viele Responder auf, SO vorgeben, Sie müssen wissen, WARUM, bevor Sie Sie beantworten, WIE.
Dieses Thema ist nützlich für mich, weil ich eine json Liste von 'backlisted' Worte, die Leben auf einem client-Seite, aber ich will nicht eine erschöpfende Liste von naughty strings direkt in die Quelle.
Es ist nützlich bei der Abschreckung die Durchschnittliche Joe aus der Inspektion einer gegebenen Logik in Ihrer Anwendung. Genaugenommen sogar windows-binaries können, werden reverse engineered, und als solche könnte man sagen, dass das kompilieren eines C++ - Quellcode in ausführbare bietet keine zusätzliche Sicherheit. Meiner Meinung nach ist dies nur eine Frage der Herstellung das Leben von Dieben, die mehr Elend, wenn auch auf verschiedenen Ebenen.
Jesus, wenn es nicht 'Sinn', dann warum noch kommentieren? Wir haben nicht, Ihnen zu sagen, warum wollen wir verschleiern unser code, ist irrelevant. Was relevant ist, WIE. Zum Beispiel, für mein Spiel, ich store client-Seite, Daten im json-format und der Durchschnittliche Nutzer könnten leicht finden. Aber, wenn ich verschleiern, dass der Durchschnittliche Benutzer wird wie 'oh Wow, keine Ahnung", und bewegen sich entlang. (Natürlich könnten Sie buchstäblich nur kopieren und einfügen in der Konsole, aber Sie weiß nicht, dass). Das ist nur ein Grund, und ganz ehrlich gesagt, es ist nicht Ihre Sache.
Konnte nicht mehr Zustimmen mit NiCk. Zu viele Responder auf, SO vorgeben, Sie müssen wissen, WARUM, bevor Sie Sie beantworten, WIE.
Dieses Thema ist nützlich für mich, weil ich eine json Liste von 'backlisted' Worte, die Leben auf einem client-Seite, aber ich will nicht eine erschöpfende Liste von naughty strings direkt in die Quelle.
InformationsquelleAutor Rich Jenks | 2013-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie btoa() und atob().
btoa()
ist wiebase64_encode()
undatob()
wiebase64_decode()
.Hier ist ein Beispiel:
Beachten Sie, dass dies ist nicht ein sicherer Weg, um Geheimnisse. Base64 ist ein Binär-zu-text-Codierung-Schema, das darstellt, binäre Daten in einen ASCII-string-format durch die übersetzung in eine radix-64-Darstellung.
Erwähnenswert ist, dass der codierte string wird größer sein als die nicht-kodiert.
Cross-browser-Unterstützung scheint jetzt gut. caniuse.com/#search=btoa Es ist sicher zu verwenden.
Danke. Ich Liebe die Anwendungsfälle für diese.
das ist keine sichere Methode zum Kodieren secrets. Es gibt keine sicheren Weg zur Kodieren ein Geheimnis, das per definition, wie eine Codierung nicht benötigen einen Schlüssel, um umzukehren.
InformationsquelleAutor Minko Gechev
Es ist erwähnenswert, dass
(![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]
wertet die Zeichenfolge "fail", ohne jemals auf der Suche wie ein string. Im ernst, geben Sie es in Knoten, und erstaunt sein. Sie können Zauber alles, was in JavaScript als verrückt.
gehen Sie in den Knoten und brechen es in seine Teile. Beginnt es zu machen, etwas morbiden Sinn.
Interessant! habe es funktioniert mit den meisten Buchstaben! jsfiddle.net/pg07yf87/2 Edit: dieser Website ist es auch für Sie jsfuck.com
InformationsquelleAutor GantMan
Bin ich natürlich zu spät für eine Antwort, aber ich war gerade an einer anderen Lösung für das problem und base64 schien zu schwach sein.
Funktioniert es so:
Code:
for...in
Aufzählung von strings, verwenden Sie nicht diese in die Produktion.InformationsquelleAutor enzian