【问题标题】:Mysql5 hash generator VBAMysql5 哈希生成器 VBA
【发布时间】:2013-02-23 09:56:33
【问题描述】:

mysql5算法是SHA-1(SHA-1($pass))吗?

然后我尝试这个http://vb.wikia.com/wiki/SHA-1.bas 脚本,函数=SHA1HASH(SHA1HASH("test")) 我得到c4033bff94b567a190e33faa551f411caef444f2 但Mysql5 哈希必须是94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29

如何在 VBA 中将字符串转换为 Mysql5 哈希?

我找到了为什么会这样,

因为 Sha1 以 Hex 提供,而 Mysql5 以二进制提供

【问题讨论】:

  • 你确定 $pass = "test" 吗?选择 SHA1(SHA1('test')) = c4033bff94b567a190e33faa551f411caef444f2
  • 是的,我确定i.stack.imgur.com/rnpfI.png
  • 你用什么来计算以下哈希:94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29
  • 要生成提供的哈希,请在 mysql SELECT PASSWORD("test") 中尝试,如果您需要在 mysql 之外使用密码哈希 - 我建议您使用 sha1 - 加盐。 dev.mysql.com/doc/refman/5.0/en/…
  • 我需要 Excel VBA。我使用insidepro.com/hashes.php?lang=eng 计算以下哈希:94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29

标签: vba excel hash sha mysql5


【解决方案1】:

看起来字符串94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29是通过MySQL函数PASSWORD()生成的。

SELECT PASSWORD("test") /* *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 */

根据 MySQL 文档的建议,如果您需要在 excel 中维护所有哈希代码,则需要更改原始哈希过程以使用 SHA1 之类的东西。

来自 MySQL 文档:http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html#function_password PASSWORD() 函数被 MySQL Server 中的身份验证系统使用;您不应该在自己的应用程序中使用它。为此,请考虑使用 MD5() 或 SHA1()。

【讨论】:

  • 我不想改变任何东西,我想从 EXCEL VBA 中的字符串测试中得到 *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29
  • 你为什么要得到那个特定的散列 - 它是 MySQL 5 用来为 MySQL 生成内部散列的专有散列方法。有自己的文档建议您不要使用它。除非您已经走上了不可逆转的路线,否则我强烈建议您切换到非专有选项。如果您需要使用 MySQL PASSWORD() 函数,则需要从 VBA 模块安装连接到本地或远程 MySQL 服务器,运行以下 SQL SELECT PASSWORD("test") 并获取结果。
  • 我已经从密码中生成了 Mysql5 哈希中的密码,我只是想比较一下密码是否已更改
猜你喜欢
  • 2020-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多