我用sha算法对秘密进行加密,然后存放到数据库。
当我修改用户时带来问题
1. 如果用户改了密码我就直接把用户密码加密后放到数据库
2. 如果用户没有改密码,我应该怎么操作了?
当我修改用户时带来问题
1. 如果用户改了密码我就直接把用户密码加密后放到数据库
2. 如果用户没有改密码,我应该怎么操作了?
解决方案 »
- struts2拦截器问题求助,
- tomcat5 根目录设置为项目名
- 关于struts 2 中datetimepicker startDate到使用问题
- 在ecslipse中用ant编译,生成javadoc有问题,请指点
- hibernate 自定义主键生成时怎样判断id是否已经存在?
- 关于两个servlet文件无使用的问题.急呀!
- 初学者困惑:Hibernate+Oracle10g Clob字段问题
- WebLogic连SQLServer2000的问题
- 我在应用struts开发,遇到一个难题
- jsp能否在linux的命令行模式下绘制图形???
- 看到的朋友可不可以给点意见
- MyEclipse 6.5 hibernate 反转的时候出现 An internal error occurred during: "Generating A
2. 如果用户没有改密码,我应该怎么操作了?没有修改密码,那就不用管它,更新时不更新这列就行了?
sha是散列算法,不是加密,它不能提供反向的结果,即不能提供解密。如果你想比对一下用户输入的原密码是否正确,将输入的原密码,sha之后,直接同数据库的比就行了。
楼主多虑了。
谢谢 luckyc2008 但是有另一个问题,就是管理员修改别人的密码,他是不知道别人的密码的1. 修改用户自己的资料时,可以修改密码
处理方法:客户端这边密码放空,让用户再输入一次密码2. 高级权限可以修改别的用户的资料
处理方法:不知道怎么搞?? 客户端这边密码放空是不行的,因为你是不知道密码的。
第二 验证密码之前先把客户输入的密码sha一次再和数据库的已保存的密码比对
第三 管理员要修改密码,他不需要知道原密码是多少,就吧管理员设定的新密码sha之后存到数据库就OK楼主业务上想太多了
1. 管理员编辑用户信息,将用户信息取回来显示到客户端,供编辑2. 管理修改用户的信息,客户端验证后提交到后台
问题出现在这里:我将用户信息取回来,这时密码是取不回来的,因为sha加密的,这时客户端应该放什么密码,放空字符可以吗?放空字符客户端验证通不过,因为用户可能不修改密码,他修改别的信息,提交时密码是为空,客户端验证是通不过的,不知道大家有什么好的办法。3. 后台保存数据
你可以随便设8个1之类的呗,
反正你输新密码是和db里的sha算法后密码比较。或者就把客户端对密码为空的check去掉。