密码加密问题
我用sha算法对秘密进行加密,然后存放到数据库。
当我修改用户时带来问题
1. 如果用户改了密码我就直接把用户密码加密后放到数据库
2. 如果用户没有改密码,我应该怎么操作了?
------解决方案--------------------如果用户改了密码我就直接把用户密码加密后放到数据库
2. 如果用户没有改密码,我应该怎么操作了?
没有修改密码,那就不用管它,更新时不更新这列就行了?
sha是散列算法,不是加密,它不能提供反向的结果,即不能提供解密。
如果你想比对一下用户输入的原密码是否正确,将输入的原密码,sha之后,直接同数据库的比就行了。
------解决方案--------------------你修改用户时不用修改密码吧,那就不管他就行了
跟不加密的处理方法没什么不同
加密只是在往数据库中存密码或修改密码时中间多了一个一一对应的转变过程而已
------解决方案--------------------1.只能显示空啦,因为你的算法不可逆了,原始密码解不出来啦
2.用户提交后,你加密后和原来数据库加密过的密码比较一下,变了就修改一下,没变就不管
------解决方案--------------------2. 高级权限可以修改别的用户的资料
处理方法:不知道怎么搞?? 客户端这边密码放空是不行的,因为你是不知道密码的。
高级权限修改别人密码,不需要知道密码信息,直接修改,即修改为其它的密码,后台不用判断密码正确与否,只需要判断如果前台输入了修改的密码,则直接更新之。
------解决方案--------------------第一 客户没修改密码 你就不要更新这列
第二 验证密码之前先把客户输入的密码sha一次再和数据库的已保存的密码比对
第三 管理员要修改密码,他不需要知道原密码是多少,就吧管理员设定的新密码sha之后存到数据库就OK
楼主业务上想太多了
------解决方案--------------------
------解决方案--------------------如果是管理员改密码,不需要验证密码,判断下即可
------解决方案--------------------客户端显示密码反正是小圆点嘛,
你可以随便设8个1之类的呗,
反正你输新密码是和db里的sha算法后密码比较。
或者就把客户端对密码为空的check去掉。