Question

Je cherche ainsi chiffrer chaîne en C # et de le décrypter en utilisant JavaScript. JavaScript dans ce cas est un langage de script pour le système interne, donc je ne devrais pas vous soucier de personnes accédant à la clé privée / mot de passe qui sera nécessaire pour le décryptage.

Recherche en ligne pour la solution, il semble que le cryptage AES devrait faire l'affaire. Je l'ai regardé dans slowAES et solution RijndaelManaged , mais pas eu de chance à le faire fonctionner.

Je l'ai utilisé le code C # qui Cheeso fourni et a reçu un texte chiffré identique. Mais quand je l'ai essayé d'utiliser slowAES pour chiffrer même morceau de données que je l'ai reçu de chiffrement complètement différent.

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

Quelqu'un peut-il me diriger dans la bonne direction? Je ne me soucie pas de la méthode, tant que je peux obtenir des résultats. Mon objectif est de prendre URL par exemple:

www.test.com/clientid=123

Utilisation .NET (C #) pour chiffrer à ressembler à

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

et puis utiliser JavaScript pour la reconvertir en

www.test.com/clientid=123

Merci, ITRushn

Était-ce utile?

La solution 3

J'ai réussi à résoudre mon problème en utilisant le cryptage RC4. Vous pouvez obtenir plus d'informations sur la mise en œuvre sur mon Blog .

Autres conseils

opérations de chiffrement / déchiffrement se produisent sur des données binaires. Par conséquent, vous devez conserver que les données binaires entre C # et javascript. Codant pour la sortie en base64 ou une chaîne hexadécimale est probablement la meilleure façon de le faire.

Option 1

Si votre intention seulement sécuriser les données sensibles entre le serveur et le client qui est un problème résolu, utilisez SSL.

Option 2

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

  • utiliser .NET (C #) pour crypter et de pointer vers un autre emplacement: www.mywebserver.com/forward.aspx?url=asdf;lkjsxd;flkjq934857u9duhfgkjhgalsdkjfh

  • puis dans la page forward.aspx, décrypter et rediriger vers www.test.com/clientid=123

  • le client suit alors la redirection HTTP et Prest-o-fait. Aucune clé partagée, facile à mettre en œuvre, il fonctionne.

Note:

Quant à votre solution d'origine, il ne peut pas être fait en toute sécurité sans COM ou d'autres moyens de inter-op. La raison pour laquelle je dis cela est que le JScript aurait besoin d'un accès à une clé publique / privée paire qui, au mieux de ma connaissance, n'est pas possible. Sans une clé publique / privée du serveur serait nécessaire de partager une clé symétrique avec le client. Sans moyen par lequel de transférer en toute sécurité cette clé vous n'avez pas obtenu les données, seulement obscurcie il.

Je pense que l'approche la plus simple serait d'utiliser SSL, suivie par celle de l'URL de renvoi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top