AzerothCore 中的密码是如何加密的?和Trinitycore一样吗?
How are passwords encrypted in AzerothCore? Is it same as Trinitycore?
我正在尝试构建一个 Web 门户,它使用 SOAP RBAC (3.3.5a) 在 wow server 和 门户网站。
AzerothCore 使用什么加密?和Trinity一样吗?
我尝试使用其他 CMS 现有的 FusionGen 和 github 并查看登录和注册系统。他们都基于三位一体。
不过好像有点不一样。
感谢任何帮助
AzerothCore 使用与所有基于 MaNGOS 的游戏服务器相同的策略。所以,是的,它也与 TrinityCore 中的相同。
密码使用 SHA1 哈希函数加密,格式为:account:password
大写。
所以如果你的账号是squeeze
,密码是azeroth
,它会被加密到SHA1('SQEEZE:AZEROTH')
。
密码将存储在 acore_auth
数据库中 account
table 的 sha_pass_hash
字段中。
SQL代码
SELECT SHA1(CONCAT(UPPER('your_username'), ':', UPPER('your_password')))
PHP代码
sha1(strtoupper($username).':'.strtoupper($password));
@hanshenrik 让我们慢下来。我同意这是一个可怕的密码存储方案,但出于不同的原因。 Salts 抵御预先计算的哈希攻击,因此如果攻击者能够破坏您的数据库,他无论如何都可以访问 salt,因此攻击描述它并不真正依赖于使用帐户作为 salt,即使我同意必须始终是一个真正唯一的、足够长的随机位序列(帐户名可以很短 public)。
这里真正的问题是 2:
1) SHA1 不再被认为是安全的
2) 使密码不敏感,减少可能的组合。
对于强化方案来说,即使是盐也能加密,让攻击者的日子更难过。
这里是关于密码的更多信息:
http://www.azerothcore.org/wiki/account#sha_pass_hash
在 AZerothCore 数据库(以及所有 Mangos 衍生产品)中,SHA1 仅用于在数据库中存储密码,但游戏客户端使用 SRP6 协议,需要服务器生成 v 和 s 密钥并发送给客户端。
我正在尝试构建一个 Web 门户,它使用 SOAP RBAC (3.3.5a) 在 wow server 和 门户网站。
AzerothCore 使用什么加密?和Trinity一样吗?
我尝试使用其他 CMS 现有的 FusionGen 和 github 并查看登录和注册系统。他们都基于三位一体。
不过好像有点不一样。
感谢任何帮助
AzerothCore 使用与所有基于 MaNGOS 的游戏服务器相同的策略。所以,是的,它也与 TrinityCore 中的相同。
密码使用 SHA1 哈希函数加密,格式为:account:password
大写。
所以如果你的账号是squeeze
,密码是azeroth
,它会被加密到SHA1('SQEEZE:AZEROTH')
。
密码将存储在 acore_auth
数据库中 account
table 的 sha_pass_hash
字段中。
SQL代码
SELECT SHA1(CONCAT(UPPER('your_username'), ':', UPPER('your_password')))
PHP代码
sha1(strtoupper($username).':'.strtoupper($password));
@hanshenrik 让我们慢下来。我同意这是一个可怕的密码存储方案,但出于不同的原因。 Salts 抵御预先计算的哈希攻击,因此如果攻击者能够破坏您的数据库,他无论如何都可以访问 salt,因此攻击描述它并不真正依赖于使用帐户作为 salt,即使我同意必须始终是一个真正唯一的、足够长的随机位序列(帐户名可以很短 public)。 这里真正的问题是 2:
1) SHA1 不再被认为是安全的 2) 使密码不敏感,减少可能的组合。
对于强化方案来说,即使是盐也能加密,让攻击者的日子更难过。
这里是关于密码的更多信息:
http://www.azerothcore.org/wiki/account#sha_pass_hash
在 AZerothCore 数据库(以及所有 Mangos 衍生产品)中,SHA1 仅用于在数据库中存储密码,但游戏客户端使用 SRP6 协议,需要服务器生成 v 和 s 密钥并发送给客户端。