【问题标题】:How can I find the phpmyadmin SQL password encryption type?如何找到 phpmyadmin SQL 密码加密类型?
【发布时间】:2018-12-15 06:10:17
【问题描述】:

如果之前已经回答过,我很抱歉,但是我搜索了2天,找不到答案。我有 2 个数据库,我需要将用户从当前数据库导入到新数据库。新数据库用于最近安装的聊天系统,我希望将所有用户添加到其中。

所以我想我只需使用来自 phpmyadmin 的信息手动将用户添加到新数据库中。但是密码的加密是不同的格式,不会起作用。

例如,在第一个数据库中,加密是: z70I9QINffX2Hh7FxQ==

在第二个数据库中,格式为: 3eb5c61f784aa3c2e11d879382387d420f7c4ebf

似乎都不是 MD5,我不知道它是哪种类型。

我知道这有点牵强,但有谁知道检测加密类型的方法以及我如何获取密码(例如“密码”)并使用正确的加密类型对其进行加密?

谢谢

【问题讨论】:

  • 这里说的是应用级用户账户,还是 MySQL 用户账户(后者存储在mysql 数据库中)。此外,密码通常不加密,而是经过哈希处理。哈希是不可逆的。
  • 谢谢。我指的是 MySQL 用户帐户(散列)。如果我将密码从数据库 1 复制到数据库 2 将不起作用,因为似乎数据库 2 具有不同的哈希值。两个数据库都在同一台服务器上。
  • 如果两个数据库在同一台服务器上,那么这些是应用程序级别的用户帐户,而不是 mysql 帐户,因为单个 mysql 服务器有一个用户表。没有什么可复制的。您可能在同一主机上有多个 mysql 服务器(实例)。是这样吗?如果是这种情况,新的mysql实例的版本是多少?

标签: mysql password-encryption


【解决方案1】:

您可以尝试为 root 用户使用通用密码,或者以 root 用户身份登录 mysql 并手动创建另一个用户。不确定您拥有什么样的访问权限,但根据我的经验,这是最好的选择。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    密码加密机制将存储在应用程序的代码中。第一个示例看起来像 Base64,但如果不比较其他示例就无法确定。第二个示例似乎是 SHA1/MySQL5 Sha1(Sha1(pass))。

    您将不得不研究使用这些数据库的应用程序,并确定它是如何在数据库中创建和存储这些帐户密码的。无论哪种方式,您都试图链接具有不同密码机制的 2-dbs,这可能需要密码标准化,这可能意味着密码重置。

    还有一种更难的方法,你有一个单向哈希密码的数据库。它需要在脚本编写方面投入一些精力......您必须为使用的加密哈希生成哈希,并与您的用户密码进行比较以获得明文密码。然后,您使用他们的密码在新数据库中重新创建他们的帐户,以创建具有相同凭据的新用户。

    【讨论】:

      猜你喜欢
      • 2016-10-09
      • 2014-10-31
      • 2011-08-05
      • 2013-05-06
      • 2014-08-12
      • 2022-12-17
      • 2014-05-22
      • 2014-06-24
      • 1970-01-01
      相关资源
      最近更新 更多