背景:
我有在客户端使用 javascript 加密的数据,需要在服务器端解密。
据我所知,我使用的 javascript AES 库不与 C# Rijndael 库互操作。
因此,我基本上只能在 C# 中实现 javascript AES 以供使用。
我将尝试使用 jsc.exe 将 javascript 编译成 dll 并查看反射器是否可以为我节省一些时间。
我知道 jscript 与 javascript 不同,但我希望我能摆脱一些非常接近的东西,而只需手动进行修饰。
问题:
当我使用 JSC 编译 javascript 时,出现以下错误:
错误 JS1234:库中只允许类型和包定义
有问题的行是以下代码行中的第一行:
var GibberishAES = (function(){
var Nr = 14,
/* Default to 256 Bit Encryption */
Nk = 8,
Decrypt = false,
enc_utf8 = function(s)
{
try {
return unescape(encodeURIComponent(s));
}
catch(e) {
throw 'Error on UTF-8 encode';
}
},
dec_utf8 = function(s)
{
try {
return decodeURIComponent(escape(s));
}
catch(e) {
throw ('Bad Key');
}
},
完整的源代码可以在这里找到:
我不确定问题是什么。我也愿意接受有关如何在 Javascript 和 C# 之间加密/解密数据的建议。