【问题标题】:How to decrypt the encrypted value in code behind using cryptoJs in MVC如何在MVC中使用cryptoJs解密代码中的加密值
【发布时间】:2014-10-29 10:31:49
【问题描述】:

我正在开发 mvc 应用程序,我正在尝试加密我的密码。我已经加密了密码 onclick 并且它工作正常。如何使用 CryptoJs 在 mvc 控制器中解密相同的值。

这是我的代码:

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/tripledes.js"></script>
       var secretString = document.getElementById("txtPassword").value;
        var password = "$1$O3JMY.Tw$AdLnLjQ/5jXF9.MTp3gHv/";
        debugger;
        //document.getElementById("secretstring").innerHTML = secretString;
       // var pass = document.getElementById("txtPassword").value;

        var encrypted = CryptoJS.TripleDES.encrypt(secretString, password);


        // document.getElementById("encryptedstring").innerHTML = encrypted.toString();

        //var decrypted = CryptoJS.TripleDES.decrypt(encrypted.toString(), password);
        //var finaltext = decrypted.toString(CryptoJS.enc.Utf8);
        //document.getElementById("txtPassword").value = encrypted;

我必须将加密值传递给 C# 代码并使用 cruptoJs.TripleDES.decrypt 自行解密。

有人帮帮我吗? 提前致谢。

【问题讨论】:

  • 您可能想看看 TripleDes 课程,但是您确定您所做的事情值得吗?如果您想确保密码不能被数据包嗅探器提取或以其他方式截获,那么 SSL 是要走的路,而不是使用 javascript 加密。如果您的服务器端代码需要加密密码,那么攻击者不需要明文密码,他们可以发送加密密码。 msdn.microsoft.com/en-us/library/…
  • 您好,我正在尝试使用 ldap 对用户进行身份验证,我收到了应用程序安全团队的例外情况,我正在发送纯密码。用户凭据通过网络以明文形式发送以进行身份​​验证。入侵者可以嗅探网络并捕获用户凭据。 S所以我决定在使用javascript调用ldap连接方法之前加密密码。我做错了什么,如果是,请指导我。
  • 我不认为它比发送纯文本密码更安全,因为任何可以嗅探网络的人都可以首先查看将页面发送给用户的请求,这包含所有解密密码所需的信息,其次,即使他们只有密码,如果您有一个需要加密密码的服务,那么攻击者为了欺骗登录所要做的就是重新发送加密密码。短版,使用 SSL。

标签: javascript c# .net asp.net-mvc


【解决方案1】:

.NET 库中有一个 3DES 提供程序,这是一个很好的使用示例:How to implement Triple DES in C# (complete example)

原则上,如果您在客户端使用 3DES,您只需在服务器上使用另一个 3DES 实现,您不需要使用相同的实现——因为 cryptoJS 是 JavaScript,它主要限于客户端使用无论如何。

话虽如此,您的字符串并未通过网络安全发送,因为您的源代码清楚地标识了用于加密的方法 + 密码。因此,任何可以嗅探到您服务器的数据的人都可以解密。

要真正安全地加密流量,您需要使用 SSL (= HTTPS)。

【讨论】:

    猜你喜欢
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多