Domanda

Cerco modo per crittografare stringa in C # e per decodificarlo utilizzando JavaScript. JavaScript in questo caso è un linguaggio di scripting per il sistema interno, quindi non deve preoccuparsi di persone che accedono chiave privata / password che sarà richiesta per la decrittazione.

Ricerca online per soluzione sembra che la crittografia AES dovrebbe fare il trucco. Ho guardato in e soluzione RijndaelManaged , ma non ha avuto fortuna a farla funzionare.

Ho usato C # codice che Cheeso fornito e ricevuto testo cifrato identico. Ma quando ho tentato di usare slowAES per crittografare stesso pezzo di dati che ho ricevuto cifratura completamente diverso.

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);

Qualcuno mi può punto nella giusta direzione? Non mi interessa il metodo, fino a quando posso ottenere risultati. Il mio obiettivo è quello di prendere URL, ad esempio:

www.test.com/clientid=123

uso NET (C #) per crittografare per assomigliare

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

e quindi utilizzare JavaScript per riconvertirlo in

www.test.com/clientid=123

Grazie, ITRushn

È stato utile?

Soluzione 3

Sono riuscito a risolvere il mio problema utilizzando la crittografia RC4. È possibile ottenere ulteriori informazioni sull'implementazione sul mio blog .

Altri suggerimenti

operazioni di crittografia / decrittografia avvengono su dati binari. Pertanto, è necessario preservare che i dati binari tra C # e javascript. Codifica l'output come base64 o stringa esadecimale è probabilmente il modo migliore per farlo.

Opzione 1

Se il vostro unico scopo è la protezione dei dati sensibili tra il server e client che è un problema risolto, utilizzare SSL.

Opzione 2

  • data l'url www.test.com/clientid=123

  • utilizzare NET (C #) per crittografare e per puntare a una posizione diversa: www.mywebserver.com/forward.aspx?url=asdf;lkjsxd;flkjq934857u9duhfgkjhgalsdkjfh

  • e poi nella pagina forward.aspx, decifrare e reindirizzare a www.test.com/clientid=123

  • Il client segue il reindirizzamento HTTP e prest-o-fatto. Non ci sono chiavi condivise, facile da implementare, perché funziona.

Nota:

Per quanto riguarda la soluzione originale che non può essere fatto in modo sicuro senza COM o altri mezzi di inter-op. Il motivo per cui dico questo è che il JScript avrebbe bisogno di accedere ad un / coppia di chiavi private pubblica che, al meglio delle mie conoscenze, non è possibile. Senza una chiave pubblica / privata del server sarebbe necessario per condividere una chiave simmetrica con il cliente. Senza mezzi con cui per il trasferimento sicuro questa chiave non si è assicurato i dati, offuscato solo.

Credo che l'approccio più semplice sarebbe quella di utilizzare SSL, seguita da quella del URL forwarding.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top