Frage

Ich suche Art und Weise String in C # zu verschlüsseln und sie mit Hilfe von JavaScript zu entschlüsseln. JavaScript in diesem Fall ist eine Skriptsprache für die interne System, so dass ich nicht über die Menschen den Zugriff auf private Schlüssel / Passwort sorgen, die für die Entschlüsselung benötigt werden.

Online-Suche für Lösung scheint es, dass die AES-Verschlüsselung den Trick tun soll. Ich habe sah in slowAES und RijndaelManaged Lösung , hatten aber kein Glück ihm den Weg zur Arbeit.

Ich habe C # -Code verwendet, die Cheeso zur Verfügung gestellt und erhielten gleich Chiffretext. Aber wenn ich habe versucht slowAES zu verwenden gleichen Daten zu verschlüsseln ich ganz andere Chiffre erhalten.

var testString = new Array("w", "a", "t", "s", "o", "n", "?");
var test = slowAES.encrypt(testString, slowAES.modeOfOperation.CBC, "12345678901234567890123456789012", slowAES.aes.keySize.SIZE_256, new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
alert(test.cipher);

Kann mir jemand in richtige Richtung? Ich interessiere mich nicht für das Verfahren, solange ich Ergebnisse erzielen kann. Mein Ziel ist es URL zum Beispiel zu nehmen:

www.test.com/clientid=123

Verwendung .NET (C #) ist es zu verschlüsseln, wie

aussehen

www.test.com/clientid=asdf;lkjsxd;flkjq934857u9duhfgkjhgalsdkjfh

und dann JavaScript verwenden, um es zu konvertieren zurück zu

www.test.com/clientid=123

Danke, ITRushn

War es hilfreich?

Lösung 3

Ich habe es geschafft, mein Problem mit RC4-Verschlüsselung zu lösen. Sie können mehr Informationen über die Umsetzung erhalten auf meinem Blog .

Andere Tipps

Die Verschlüsselung / Entschlüsselung Operationen treten auf Binärdaten. Daher müssen Sie, dass binäre Daten zwischen C # und Javascript bewahren. Codieren der Ausgabe als base64 oder Hexadezimalstring ist wahrscheinlich der beste Weg, das zu tun.

Option 1

Wenn Ihre einzige Absicht ist, sensible Daten zwischen dem Server und dem Client zu sichern, die ein gelöstes Problem ist, verwenden Sie SSL.

Option 2

  • angesichts der URL www.test.com/clientid=123

  • verwenden .NET (C #) ist es zu verschlüsseln und an einen anderen Ort zu Punkt: www.mywebserver.com/forward.aspx?url=asdf;lkjsxd;flkjq934857u9duhfgkjhgalsdkjfh

  • und dann in der forward.aspx Seite, entschlüsseln und umleiten> www.test.com/clientid=123

  • der Client dann folgt die HTTP-Umleitung und Prest-o-getan. Keine gemeinsamen Schlüssel, einfach zu implementieren, es funktioniert einfach.

Hinweis:

Wie für Ihre ursprüngliche Lösung kann es nicht sicher ohne COM oder andere Mittel der zwischen op erfolgen. Der Grund, warum ich sagen, dass die JScript Zugang zu einem öffentlichen / privaten Schlüsselpaar benötigen würde, die zum besten meines Wissens, nicht möglich ist. Ohne einen öffentlichen / privaten Schlüssel würde der Server benötigt einen symmetrischen Schlüssel mit dem Kunden zu teilen. Ohne Mittel, mit denen sicher diesen Schlüssel zu übertragen haben Sie nicht die Daten gesichert, verschleiert es nur.

Ich denke, der einfachste Ansatz zur Verwendung von SSL wäre, durch die der Weiterleitung URL gefolgt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top