我正在尝试构建一个使用SOAP RBAC (3.3.5a) 在wow server和web portal 之间进行通信的 web 门户。
AzerothCore 使用什么加密?和三连一样吗?
我尝试使用其他 CMS 现有的 FusionGen 和 github 并查看登录和注册系统。它们都基于三位一体。
但似乎它实际上并不相同。
任何帮助表示赞赏
我正在尝试构建一个使用SOAP RBAC (3.3.5a) 在wow server和web portal 之间进行通信的 web 门户。
AzerothCore 使用什么加密?和三连一样吗?
我尝试使用其他 CMS 现有的 FusionGen 和 github 并查看登录和注册系统。它们都基于三位一体。
但似乎它实际上并不相同。
任何帮助表示赞赏
AzerothCore 使用所有基于 MaNGOS 的游戏服务器的相同策略。所以,是的,它也与 TrinityCore 相同。
密码使用SHA1哈希函数加密,格式为:account:password
大写。
因此,如果您的帐户是squeeze
并且您的密码是azeroth
,它将被加密SHA1('SQEEZE:AZEROTH')
。
密码将存储在数据库内表的sha_pass_hash
字段中。account
acore_auth
SQL 代码
SELECT SHA1(CONCAT(UPPER('your_username'), ':', UPPER('your_password')))
PHP 代码
sha1(strtoupper($username).':'.strtoupper($password));
这里有更多关于密码的信息:
http://www.azerothcore.org/wiki/account#sha_pass_hash
在 AZerothCore 数据库(以及所有 Mangos 衍生品)中,SHA1 仅用于在数据库中存储密码,但游戏客户端使用 SRP6 协议,该协议需要服务器生成 v 和 s 密钥并发送给客户端。
@hanshenrik 让我们放慢速度。我确实同意这是一个可怕的密码存储方案,但出于切片不同的原因。Salts 可以防御预先计算的哈希攻击,因此,如果攻击者能够破坏您的数据库,他无论如何都可以访问 salt,因此攻击描述的它并不真正依赖于将帐户用作 salt,即使我同意必须始终是一个真正唯一的、足够长的随机位序列(帐户名称可能非常短且公开)。这里真正的问题是2:
1) SHA1 不再被认为是安全的 2) 使密码不敏感减少可能的组合。
对于一个强化的方案来说,即使是盐也可以很好地加密,以使攻击者的生活更加困难。