Asp.net C#客户端和服务器端的加密/解密

0 javascript c# asp.net jquery

先生,我有客户端加密的jquery解决方案,但它只创建"MD5".

我想在客户端上使用Salted Md5加密并在Asp.net 4.0和C#中在服务器端解密它

我的加密代码如下:

<script type="text/javascript">
    function chn() {
        var a = document.getElementById('txt1'); 
        var b = document.getElementById('txt2');
        var c = a.value; var d = $.md5(c);
        b.value = (d);
    }
</script>
Run Code Online (Sandbox Code Playgroud)

我希望每次尝试都必须更改加密.

示例:abc的第一次加密是xyz

如果我将尝试使用该名称"Abc",那么它应该创建另一个加密并检查服务器端.

请帮帮我

tyl*_*erl 5

MD5是哈希,而不是加密机制.哈希本质上是有损的,多个输入可以(并且凭借鸽笼原则绝对产生)相同的输出.

运行MD5就像计算单词中的元音数一样.如果我告诉你一个单词中有4个元音,并且要求你告诉我原来的单词是什么,那么你根本没有足够的信息来给我正确的答案.您可能能够找到一些已经在这4个元音字,但你不会知道你发现这个词是不是我的字.也许是,也许不是.在数学上你不可能告诉你.

MD5的工作方式相同.你丢弃了大量的信息,可能是千兆字节或太字节的信息,而是生成一个16字节的摘要.

根据意图,这是一种固有的单向过程.

  • +1表示加密和散列之间的区别.OP应该研究一种有效的加密/解密机制,这与[C#中的简单加密解密](http://www.codeproject.com/KB/security/DotNetCrypto.aspx)有关,还可以查看相应的[AES加密]在javascript中实现](http://www.hanewin.net/encrypt/aes/aes.htm).顺便说一下,有人对这个问题进行了投票,我猜没有必要. (2认同)