使用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,但我只是没有看到它是如何使用盐字符串的,这让我相信我完全错过了发生的事情。
要验证密码,您应该测试
(passwordStoredInWPDatabase == Crypter.PhpassCrypter.Crypt(testPassword, passwordStoredInWPDatabase))
没有passwordStoredInWPDatabase的重载使用默认参数调用Crypter.PhpassCrypter.GenerateSalt()。这是用于存储新密码,而不是用于测试现有密码。
基于密码的密码格式将算法标记和salt存储在字符串的开头。在测试现有密码时,CryptSharp将提取盐并将其合并到散列中。由于盐匹配,加密的密码也会匹配。
希望这对你有帮助:)
詹姆斯