如何在MVC中使用cryptoJs解密代码背后的加密值

How to decrypt the encrypted value in code behind using cryptoJs in MVC

本文关键字:代码 解密 背后 加密 cryptoJs MVC      更新时间:2023-09-26

我正在开发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#代码,并使用crupoJs.TripleDES.decrypt.对其进行解密

有人帮我吗?提前谢谢。

.NET库中有一个3DES提供程序,下面是如何使用它的一个很好的示例:如何在C#中实现Triple DES(完整示例)

原则上,如果您在客户端上使用3DES,您只需在服务器上使用另一个3DES实现,就不需要使用相同的实现——而且由于cryptoJS是JavaScript,因此它大多仅限于客户端使用。

也就是说,您的字符串不能通过网络安全发送,因为您的源代码清楚地标识了用于加密的方法+密码。因此,任何能够嗅到进入服务器的数据的人都可以解密。

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