javascript - 如何在MVC中使用cryptoJs解密代码中的加密值

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

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

这是我的代码:

<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 对其本身进行解密。

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

最佳答案

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

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

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

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

关于javascript - 如何在MVC中使用cryptoJs解密代码中的加密值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26628039/

相关文章:

javascript - 在 ASP.NET MVC 中管理 js 和 css 文件

javascript - jQuery/javascript : background-image, 滚动变化

c# - 我试图理解我反射(reflect)过的微软的 Do​​ubleUtil.AreClose() 代码

c# - DetailsView 不会进入编辑模式

c# - C#创建一个对象时,会在内存中创建一个类中的多少个方法?

javascript - 简单的 Reduce 函数 - JavaScript

javascript - 使用cheerio从ul中提取2个元素

c# - 我如何在此代码中删除多行记录

.net - 令人惊讶的性能差异 : List. Contains、SortedList.ContainsKey、DataRowCollection.Contains、Data Table.Select、DataTable.FindBy

c# - 如何在通过管道进行Azure DevOps部署期间删除本地wwwroot文件夹的内容?