Pregunta

Busco a manera de cifrar cadena en C # y para descifrarlo usando JavaScript. JavaScript en este caso es un lenguaje de script para el sistema interno, por lo que no debe preocuparse por las personas que acceden clave privada / clave que se requiere para el descifrado.

La búsqueda en línea para la solución parece que el cifrado AES debe hacer el truco. He mirado en y solución RijndaelManaged , pero no tuvo suerte con su funcionamiento.

He utilizado el código C #, que Cheeso prestado y recibido idéntico texto cifrado. Pero cuando he intentado utilizar para cifrar slowAES misma pieza de información que he recibido completamente diferente de cifrado.

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

Puede alguien me punto en la dirección correcta? No me importa el método, siempre que puedo lograr resultados. Mi objetivo es tomar URL, por ejemplo:

www.test.com/clientid=123

El uso de .NET (C #) para cifrar que se vea como

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

y luego usar JavaScript para convertirlo de nuevo a

www.test.com/clientid=123

Gracias, ITRushn

¿Fue útil?

Solución 3

He conseguido resolver mi problema mediante el cifrado RC4. Se puede obtener más información sobre la aplicación en mi el blog .

Otros consejos

operaciones de cifrado / descifrado se producen en datos binarios. Por lo tanto, debe preservar que los datos binarios entre C # y JavaScript. Que codifica la salida como una base 64 o cadena hexadecimal es probablemente la mejor manera de hacerlo.

Opción 1

Si su única intención es asegurar los datos sensibles entre el servidor y el cliente que es un problema resuelto, utilizar SSL.

Opción 2

  • dada la url www.test.com/clientid=123

  • utilizar .NET (C #) para cifrar y para que apunte a una ubicación diferente: www.mywebserver.com/forward.aspx?url=asdf;lkjsxd;flkjq934857u9duhfgkjhgalsdkjfh

  • y, a continuación, en la página forward.aspx, descifrar y redirigir a www.test.com/clientid=123

  • Luego, el cliente sigue la redirección HTTP y hecho Prest-O-. No hay claves compartidas, fácil de implementar, simplemente funciona.

Nota:

En cuanto a su solución original que no se puede hacer de forma segura y sin COM o algún otro medio de inter-op. La razón por la que digo esto es que el JScript tendría acceso a un par de claves pública / privada que, a lo mejor de mi conocimiento, no es posible. Sin una clave pública / privada del servidor estaría obligado a compartir una clave simétrica con el cliente. Sin medios por los cuales para transferir con seguridad esta clave no ha asegurado que los datos, sólo el ofuscado él.

Creo que el enfoque más simple sería utilizar SSL, seguido por el de la URL de reenvío.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top