【问题标题】:How to convert Csharp code directly in to javascript code如何将 Csharp 代码直接转换为 javascript 代码
【发布时间】:2015-07-08 12:27:41
【问题描述】:

我是 Javascript 的新手。我想将用 c# 编写的函数转换为 javascript 并执行与在 c# 中相同的功能。在这个过程中,我遇到了一些在线转换器,例如 duocode、sharpkit、JSIL、JSC、Script#,它们可以这样做但不起作用。可能是我在操作时犯了一些错误

这是我要转换为 javascript 函数的 c# 代码:

public static string Decrypt(string data)
        {
            var rsa = new RSACryptoServiceProvider();
            var dataArray = data.Split(new char[] { ',' });
            byte[] dataByte = new byte[dataArray.Length];
            for (int i = 0; i < dataArray.Length; i++)
            {
                dataByte[i] = Convert.ToByte(dataArray[i]);
            }

            rsa.FromXmlString(_privateKey);
            var decryptedByte = rsa.Decrypt(dataByte, false);
            return _encoder.GetString(decryptedByte);
        }

任何建议/帮助将不胜感激。

【问题讨论】:

  • “JavaScript RSA 库”在任何网络搜索引擎中都会产生大量结果。
  • 也许你可以做个JS代理,叫你C#方法?
  • @Aleksej 我猜 OP 想在客户端执行加密以防止窃听,本质上是重新发明 HTTPS。
  • @CodeCaster:实际上我正在尝试在服务器端实现 rsa 加密(使用公钥)并在客户端实现解密(在 javascript 中使用私钥)
  • “什么工具将 C# 转换为 JavaScript?”或“如何将 this 函数转换为 JavaScript?”的问题也是如此。你的 JavaScript 是如何拥有私钥的?

标签: javascript c#


【解决方案1】:

使用您拥有的代码无法实现您想要做的事情。有一些方法可以将代码从一种语言转换为另一种语言,但前提是代码足够简单并且不使用非基本的外部库/类。 (即转换器可以转换循环或其他基本逻辑)。

您的代码不包含任何值得注意的逻辑(可能除了 for-each 循环),而只是调用外部库(rsyctypto 等)来完成实际工作。在 javascript 中,这些绝对不是默认库,因此没有自动化工具可以帮助您。

代替 google(使用使用 stackoverflow)来搜索在 javascript 中执行相同操作的代码 sn-p:在 javascript 中使用 rsa 加密数据(如 RSA Encryption Javascript and Decrypt Java)。

【讨论】:

    猜你喜欢
    • 2012-02-25
    • 2022-12-02
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    相关资源
    最近更新 更多