我正在使用Unity和Smart Fox Server创建游戏,并希望使用我的wordpress数据库。我的第一次尝试:
string cryptedPassword = Crypter.PhpassCrypter.Crypt(password);
我得到的输出具有正确的前缀,所以我只是抓不到的东西。
我尝试在wp-settings.php文件中使用salt字符串
string cryptedPassword = Crypter.PhpassCrypter.Crypt(password, 'bigLongSaltInWP-file');
但我得到了无效的盐#39;返回。
PHP,特别是phppass,对我来说很陌生,我还在专门阅读phppass,但我还没看到它如何使用盐串让我相信我完全不知道发生了什么事。
答案 0 :(得分:0)
要验证密码,您应该测试
(passwordStoredInWPDatabase == Crypter.PhpassCrypter.Crypt(testPassword, passwordStoredInWPDatabase))
没有passwordStoredInWPDatabase的重载使用默认参数调用Crypter.PhpassCrypter.GenerateSalt()。这用于存储新密码,而不是用于测试现有密码。
基于密码的密码格式将算法标记和salt存储在字符串的开头。在测试现有密码时,CryptSharp将拉盐并将其合并到散列中。由于盐匹配,加密的密码也会。
希望这会有所帮助:)
詹姆斯