我正在为我的应用程序创建用户,并使用Spring security MD5散列编码器保护他们:
PasswordEncoder encoder = new Md5PasswordEncoder();
String hashedPass = encoder.encodePassword(dbUser.getPassword(), null);
dbUser.setPassword(hashedPass);所以'admin‘变成了'd41d8cd98f00b204e9800998ecf8427e’。
这一切都很好,但我也试图创建一个表单,当前用户可以去更新他们的详细信息,等等。
我并不担心解码MD5散列,因为这不是spring (someone already asked)的一部分。
<form:password cssClass="input" placeholder="Password" path="password" />如果我添加了'showPassword‘属性,那么MD5散列就会被添加到被屏蔽的字段中(例如在chrome上用圆圈标记),但是如果我右键单击并’查看源代码‘,散列就在那里。
我如何才能使它显示为与原始'admin‘输入一样的正确字符数?HTML5占位符不会起作用,因为用户可能认为他们每次都必须重新输入密码,而javascript肯定不是一个干净的选择。
非常感谢,
托比
发布于 2013-03-05 21:31:09
哈希的全部意义在于你不能反转它。你不能说出原作是什么,也不能说出它有多长。您永远不应该以任何方式显示它。
发布于 2013-03-05 21:56:58
我不建议向用户显示密码(或其他机密信息):不要使用散列或纯文本。要解决UX问题,您可以:
1)显示密码输入字段为空
2)根本不显示密码,并使用单独的链接/菜单来更改密码。
https://stackoverflow.com/questions/15225021
复制相似问题