2016-08-12 128 views
1

我正在使用SMF。在SMF密码保存在mysql中,如:SHA1不匹配

sha1(usernamepassword); 

一些散列工作正常。但其他散列,其中包括像“öüşı”特殊字符和空间等不匹配。

例如“aksaktemüraga”应转换为SHA1为“4b4eb0eed79356eb56eb9058e6dea20d71e48e3c”,但它被转换为SHA1为“c4aa8328bf5ec76cfc0416fd7ec40f8dea7f3d62”

+1

很可能是编码问题。 –

+0

要清楚我想为我的论坛做一个外部登录,但我想我没有特殊的字符。 –

+0

请教[如何在Web应用程序中完全支持UTF-8](http://stackoverflow.com/questions/279170/how-to-support-utf-8-completely-in-a-web-application) - 以前称为*“UTF-8一路贯穿...”* –

回答

1

既然你正试图创建一个外部登录SMF论坛,那么你必须留在SMF提供的哈希中。

关于您的问题,您应该查看Sources\LogInOut.php SMF安装文件,以检查SMF如何创建登录。

然后,您可以使用相同的技术进行外部登录。

+1

他们应该改变服务,然后;-)任何人在这个时代使用sha1,应该关闭或重写,以适应“本世纪”的安全问题。 –

+1

不仅改变服务,也改变移动。你知道,没有人喜欢打破向后兼容性的东西。我认为迁移是痛苦,而不是改变哈希:) – Whiteulver

+0

^很好的一点。 –