将多个空格值转换为用于密码存储的选项卡值

时间:2014-10-01 02:19:45

标签: php passwords ascii

我不知道;可能是看似疯狂或完全不专业的新手问题。但是,将四个空格转换为密码字段的标签是不错的选择?

这是我想要做的 - 每当用户在密码字段中输入密码时;我想修剪左右空白(如果有的话)!并且在字符串的中间如果用户放置四个空格将其转换为TAB键值(反之亦然??)然后哈希值..

我想提一下密码字段将接受空格,密码字段不仅限于英文字符集。

这是好的做法吗?

3 个答案:

答案 0 :(得分:1)

修剪开始和结束绝对是好习惯。

然而,将空格字符转换为制表符将是一个非常糟糕的主意。用户如何登录?当他们按下密码框中的Tab键时,浏览器会将焦点从密码框移动到页面上的下一个控件。他们无法在密码中键入Tab!

保留密码中间的任何空格。

答案 1 :(得分:0)

可以讨论修改密码,我自己认为这是一个好主意。

更改密码虽然不会给你任何好处,甚至可能有害。假设您在存储密码之前正确地散列密码,您可以将更改视为散列算法的另一部分。无论你做了什么改变,密码的熵都不能通过算法增加,密码不会变得更强。另一方面,它可以降低熵。一个简单的例子:

相同的密码,一次有4个空格,一次只有一个标签,将产生相同的哈希值。

如果您愿意,可以使用修剪后的密码,但保持密码内容不变。

答案 2 :(得分:-1)

很好,您计划删除前导/尾随空格,但是我没有理由将这些空格更改为标签,因为在加密前它只是一个额外的步骤。
如果没有充分的理由把东西放在里面通常会更好......不要把它放进去 (编辑:我假设在登录时会进行相同的检查)

(ps:这类问题并不适合StackOverflow,因为它涉及个人意见)