Kommentar: Ein HTML5 -Video -Intelligenzspiel, der Entwicklungsprozess ist sehr interessant. Ich mag Programmierung, aber nachdem ich die Spiellogik implementiert habe, habe ich eine interessante Idee: Warum denken Sie nicht an einen Weg, um den Code zu verbergen
Ich habe kürzlich mein erstes Webspiel entwickelt: ein HTML5 -Videospiel. Der Entwicklungsprozess ist sehr interessant, ich mag Programmierung, aber nachdem ich die Spiellogik implementiert habe, habe ich eine interessante Idee: Warum denken Sie nicht an einen Weg, den Code zu verbergen? Zuerst habe ich an einige sehr einfache Praktiken nachgedacht, z. B. das Verbot des Kontextmenüs, falls Sie den Seitenquellcode beim Klicken anzeigen können. Aber das macht keinen Sinn. Das Menü mit dem Rechtsklick kann nicht verwendet werden. Personen können den Quellcode weiterhin über Tastaturverknüpfungen oder Quelldateien in der Menüleiste anzeigen.Ein Bild kann Tausende von Wörtern enthalten
Dies hängt vom Bild des Bildes ab. Aber ich beschloss, den Quellcode zu verschlüsseln und in einem Bild zu speichern. Die Canvas -Komponente von HTML5 ist für solche Dinge sehr geeignet, da sie den Betrieb für Bildpixel unterstützt. Ein Pixel wird durch vier Werte (Kanäle) dargestellt: Rot-, Grün-, Blau- und Alpha -Kanäle. Ihre Werte werden von 0 auf 255 verteilt. Mein JavaScript -Code ist ein Zeichen, jedes Zeichen hat einen ascii entsprechenden Wert. Der Bereich der ASCII-Werte beträgt auch 0-255. Ich möchte also jedes Pixel auf der Leinwand durchqueren und den ASCII-Wert von 3 Codezeichen für jedes Pixel als RGB-Wert festlegen. Sie können diese Zeichen problemlos über die Charcodeat-Funktion erhalten.
.charcodeat (0)
Was generiert wird, ist ein farbenfrohes und kleines Bild, nämlich mein Programmcode und wir sehen uns einen Blick darauf an:
Beim Dekodieren muss ich dieses Bild nur auf die Leinwand zeichnen, die Pixelpunkte durchqueren und die von den Werten R, G und B dargestellten Zeichen herausnehmen:
String.FromCharCode (Code)
Verkettieren Sie sie in eine große Zeichenfolge, und das ist Ihr Code - ausführbarer Code.
Können Sie Ihren Quellcode auf diese Weise schützen?
Tatsächlich kann es nicht - ein erfahrener (oder sogar unerfahrener) Programmierer kann immer noch wissen, wie man Bilder dekodieren und den Code im Inneren entfernen, aber ich denke
Die Hauptnachteile dieser Methode
Diese Technologie kann nur in modernen Browsern verwendet werden, die die HTML5 -Canvas -Technologie unterstützen, und sie ist in IE6 und IE8 definitiv nicht möglich. Sogar einige moderne Browser haben Unterstützung bei der Codierung des Alpha -Kanals des Bildes, sodass Sie nur 3 Zeichen pro Pixel platzieren können - ein 100 × 100 -Größen -Bild kann 30.000 Textzeichen speichern.
Haben Sie andere einfache Möglichkeiten, um andere daran zu hindern, Ihren Code zu kopieren? Natürlich können wir Charaktere verschlüsseln, aber wie können wir sicherstellen, dass Ihre Entschlüsselungsschritte nicht leicht zu knacken sind? Sag mir, was du denkst!