*100分,初学,不知道“不可逆加密”怎么用,请高人指点一下。感激不尽^

***100分,初学,不知道“不可逆加密”如何用,请高人指点一下。感激不尽^_^以下是,在网上看到的。这个是实现不可

***100分,初学,不知道“不可逆加密”如何用,请高人指点一下。感激不尽^_^
以下是,在网上看到的。
这个是实现不可逆加密的,说是存密码比较适合,但是我想“它都不可逆了,还怎么比对输入的密码与数据库的数码是否相同呢??”

                ///   <summary>
                ///   对字符串进行加密(不可逆)
                ///   </summary>
                ///   <param   name= "Password "> 要加密的字符串 </param>
                ///   <param   name= "Format "> 加密方式,0   is   SHA1,1   is   MD5 </param>
                ///   <returns> </returns>
                public   static   string   NoneEncrypt(string   Password,   int   Format)
                {
                        string   strResult   =   " ";
                        switch   (Format)
                        {
                                case   0:
                                        strResult   =   FormsAuthentication.HashPasswordForStoringInConfigFile(Password,   "SHA1 ");
                                        break;
                                case   1:
                                        strResult   =   FormsAuthentication.HashPasswordForStoringInConfigFile(Password,   "MD5 ");
                                        break;
                                default:
                                        strResult   =   Password;
                                        break;
                        }

                        return   strResult;
                }


并且这段代码也没有给解密的方法,谁会用它啊。

请高人,指出我说的对不,如果不对,请说明下。并给出上方法对应的解密方法。

[解决办法]
这个是实现不可逆加密的,说是存密码比较适合,但是我想“它都不可逆了,还怎么比对输入的密码与数据库的数码是否相同呢??”
==========
将欲验证的密码用同样的加密算法加密然后与数据库中的值比较
[解决办法]
不可逆加密就是只能加密不能解密了.
------解决方案--------------------


首先替楼主澄清一个概念。
加密必有解密,否则不能称之为加密。

而所谓的“不可逆加密”,或者“单向加密”其实有另一个名称,叫做散列。比如Md5就是一种散列。

这种散列的方法我觉得一般也只适用于用户表里的密码,使用方式是这样:存密码的时候,把从前台得到的密码,经过散列存入数据库,这个过程是不可逆的;然后判断的时候,把从前台的得到字符串也散列,然后与数据库里的相判断,如果相同:密码正确,如果不同:密码错误。但是这种方式无法取回密码,只能用忘记密码重新设定。

有的时候如果对保密程度要求高,我还是倾向于两次加密,第一次是双向的,第二次是散列。
[解决办法]
一般找回密码也不要找回旧密码,要不就制作一个新密码发给他,要不就给他个新页面自己去重新修改新密码;
[解决办法]
一般这种单向加密的,适用于安全度要求较高的环境,如公司内部的人力资源、工资系统

方法
1、取加密后的值与数据中原加密值比较
2、若忘了密码,可通过变通方法解决,如重置一下,给其默认密码

[解决办法]
对要比较的数据加密后再进行比较
[解决办法]
不可逆加密说白了,就是加密后,不能再解密回去
所以,这就是为什么很多论坛什么的,只给你提供修改密码的机会,不能找回密码
LZ用不可逆加密,例如登录的时候,把加密后的密码和数据库去比对就行了
[解决办法]
和MD5一样用,把两个数据都加密,再对比加密文件是否一样。


用户修改密码,管理员修改一个密码给其发过去,就OK