使用CryptSharp验证wordpress DB

时间:2014-06-16 16:23:16

标签: c# wordpress encryption smartfoxserver

我正在使用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,但我还没看到它如何使用盐串让我相信我完全不知道发生了什么事。

1 个答案:

答案 0 :(得分:0)

要验证密码,您应该测试

(passwordStoredInWPDatabase == Crypter.PhpassCrypter.Crypt(testPassword, passwordStoredInWPDatabase))

没有passwordStoredInWPDatabase的重载使用默认参数调用Crypter.PhpassCrypter.GenerateSalt()。这用于存储密码,而不是用于测试现有密码。

基于密码的密码格式将算法标记和salt存储在字符串的开头。在测试现有密码时,CryptSharp将拉盐并将其合并到散列中。由于盐匹配,加密的密码也会。

希望这会有所帮助:)

詹姆斯