【发布时间】:2014-01-09 07:59:48
【问题描述】:
当用户输入还包含非 ascii 字符时,从用户输入创建密码哈希的正确和/或标准方法是什么?
我注意到,当我只使用 ASCII 字符生成 MD5 哈希时,我总是得到相同的结果。但是假设用户希望他/她的密码是“pöllö”(猫头鹰,英文)。
以下是一些在线 MD5 哈希生成器为 pöllö 生成哈希的示例
http://www.md5hashgenerator.com/index.php 哈希:0cbe7f5ca855599480e4313e63e8093d
http://www.miraclesalad.com/webtools/md5.php 哈希:0f6b1c5d67c201eb1c3c37300b8be077
【问题讨论】:
-
这是字符集的问题。您的第一个网站使用 iso-8859-15,第二个网站使用 utf-8。第一个仅用于东欧语言(几乎),但使用 8 位代码,其中 utf-8 适合(或尝试)世界上所有语言,但字符可能每个编码为 8 到 32 位。