3

我正在尝试构建一个使用SOAP RBAC (3.3.5a) 在wow serverweb portal 之间进行通信的 web 门户

AzerothCore 使用什么加密?和三连一样吗?

我尝试使用其他 CMS 现有的 FusionGen 和 github 并查看登录和注册系统。它们都基于三位一体。

但似乎它实际上并不相同。

任何帮助表示赞赏

4

3 回答 3

3

AzerothCore 使用所有基于 MaNGOS 的游戏服务器的相同策略。所以,是的,它也与 TrinityCore 相同。

密码使用SHA1哈希函数加密,格式为:account:password大写。

因此,如果您的帐户是squeeze并且您的密码是azeroth,它将被加密SHA1('SQEEZE:AZEROTH')

密码将存储在数据库内表的sha_pass_hash字段中。accountacore_auth

SQL 代码

SELECT SHA1(CONCAT(UPPER('your_username'), ':', UPPER('your_password')))

PHP 代码

sha1(strtoupper($username).':'.strtoupper($password));
于 2019-08-03T10:03:12.383 回答
2

这里有更多关于密码的信息:

http://www.azerothcore.org/wiki/account#sha_pass_hash

在 AZerothCore 数据库(以及所有 Mangos 衍生品)中,SHA1 仅用于在数据库中存储密码,但游戏客户端使用 SRP6 协议,该协议需要服务器生成 v 和 s 密钥并发送给客户端。

于 2019-08-05T15:16:23.133 回答
1

@hanshenrik 让我们放慢速度。我确实同意这是一个可怕的密码存储方案,但出于切片不同的原因。Salts 可以防御预先计算的哈希攻击,因此,如果攻击者能够破坏您的数据库,他无论如何都可以访问 salt,因此攻击描述的它并不真正依赖于将帐户用作 salt,即使我同意必须始终是一个真正唯一的、足够长的随机位序列(帐户名称可能非常短且公开)。这里真正的问题是2:

1) SHA1 不再被认为是安全的 2) 使密码不敏感减少可能的组合。

对于一个强化的方案来说,即使是盐也可以很好地加密,以使攻击者的生活更加困难。

于 2019-08-05T08:30:52.910 回答