【问题标题】:Trying to decrypt a password stored in MySql试图解密存储在 MySql 中的密码
【发布时间】:2014-09-16 20:54:36
【问题描述】:

我有一个客户正在尝试将他们当前的用户系统转换为 Asp.Net。我有当前的数据库。首选的解决方案是导入当前数据并使其工作,而无需实际计算密码并重新添加所有用户。在数据库中,我的用户信息如下:

(这是一个测试用户)

username: pixelrazor
password:d5f916bb8d603a8db3300337e0af02e41a3e496aea850efd621bcfe6bbf4c210c634e5d8a298419eee504cb8875e6545bb79f3a6c1a8c9c8fa7482e74bf48b86
salt:NVzjxi#U+2nZqB"u!9^O<6@UZY$2%5doY[:obpNh<7?P:Bt>rm.O_r}O"X3[eEGP/fo0,U;D:drBea1x%zW8"G@l?M;yX~t+=f~.x8Q!11Ymr?%0eCY$ty(sl./'CwZD
uniquekey: be6727dbd1c2755d1ac887c770d34c9f1f3a65bd
crypt-key:fc3b8255ff0a719d0c2074adb949b73fee636776

(未散列或加密的密码是abcd1234

有什么方法可以确定这个密码的安全类型吗?它来自表达式引擎,使用 mysql 数据库。

这有点超出我的范围,任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 我认为 uniqueKey 是一种签名,而密钥是解密密码的真实密钥。尝试使用 SecretKey 应用 Cipher。

标签: php mysql asp.net encryption passwords


【解决方案1】:

this post that talks about EE encrytpion。关键部分是

E 2.x 引入了环境敏感的哈希算法和密码盐——这都是好事! system/expressionengine/libraries/Auth.php 中的代码(从 ExpressionEngine 2.2.2 开始)看起来很简单:

  1. 为用户获取exp_members.saltexp_members.password
  2. 根据exp_members.password的字节长度选择哈希算法(希望这是128字节,对应SHA-512!)
  3. 连接 exp_members.salt 和用户的密码输入(按此顺序,例如 $salt.$password)
  4. 使用第二步中选择的算法对结果字符串进行散列
  5. 比较哈希字符串和exp_members.password

请注意,它们还引用了具有身份验证功能的PHP source code.。其余的由你决定,因为我不声称 PHP。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2011-01-20
    • 2020-07-04
    • 1970-01-01
    • 2012-12-10
    • 2019-03-30
    • 1970-01-01
    相关资源
    最近更新 更多