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

本文关键字:加密 解密 net Asp 服务器端 客户端 | 更新日期: 2023-09-27 18:11:32

Sir,我在客户端有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>

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

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

如果我再次尝试使用名称"Abc",那么它应该会创建另一个加密并在服务器端进行检查。

请帮我解决

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

MD5是一个散列,而不是一种加密机制。哈希本质上是有损耗的,并且多个输入可以(并且由于鸽子洞原理,绝对(产生相同的输出。

运行MD5就像计算单词中元音的数量一样。如果我告诉你一个单词有4个元音,并让你告诉我原来的单词是什么,你根本没有足够的信息给我正确的答案。你可能会找到一些有4个元音的单词,但你不知道你找到的单词是否是我的单词。也许是,也许不是。从数学上讲,你是不可能判断的。

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

从本质上讲,这是一个单向的过程。

MD5无法解密。这是单向散列。此外,我发现任何可以在另一端解密的东西都是不安全的,以防被拦截。始终设计和编码以确保您可以验证盐而不是解密它:(