使用CryptSharp验证wordpress数据库

本文关键字:数据库 wordpress 验证 CryptSharp 使用 | 更新日期: 2023-09-27 18:08:54

我正在使用Unity和Smart Fox服务器创建一款游戏,并希望使用我的wordpress数据库。我的第一次尝试:

string cryptedPassword = Crypter.PhpassCrypter.Crypt(password);

我得到的输出有正确的前缀,所以只是有些东西我没有完全掌握。

我尝试在wp-settings.php文件中使用salt字符串,

string cryptedPassword = Crypter.PhpassCrypter.Crypt(password, 'bigLongSaltInWP-file');

但是我得到一个'invalid salt'返回。

PHP,尤其是phppass,对我来说是陌生的,我还在专门阅读phppass,但我只是没有看到它是如何使用盐字符串的,这让我相信我完全错过了发生的事情。

使用CryptSharp验证wordpress数据库

要验证密码,您应该测试

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

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

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

希望这对你有帮助:)

詹姆斯