【问题标题】:What Does This Piece Of PHP do? (password decryption) [duplicate]这段 PHP 是做什么的? (密码解密)[重复]
【发布时间】:2012-08-31 20:22:51
【问题描述】:

可能重复:
Can I md5(sha1(password))?

$pass = md5($_POST["pass"].sha1($_POST["pass"]))

我在某处看到这个并且很困惑。这是否读取密码并使用 sha1 然后 md5 或反向解密?还是我还缺少其他一些东西?

【问题讨论】:

  • . 在 PHP 中连接字符串。
  • 它提供了安全散列密码的错觉,而无法安全散列密码。
  • @user1115155 - 请不要这样做...该帖子将被社区关闭。没有必要“破坏”您的帖子。信任该网站:)
  • 我回滚了你的编辑,因为你实际上删除了你的帖子。

标签: php passwords md5 sha1 encryption


【解决方案1】:

它使用sha1 算法对$_POST['pass'] 进行散列,然后将该散列与$_POST['pass'] 组合,然后使用md5 算法对生成的组合字符串进行散列。

为什么,我不知道。

【讨论】:

    【解决方案2】:

    它所做的是将密码与它的 sha1 散列版本(其中之一是 salt)连接起来,然后将其散列成一个 MD5 值。

    【讨论】:

      【解决方案3】:

      实际上是对密码进行哈希处理。

      它将明文密码与 sha1'd 密码连接起来。然后它 Md5 整个事情

      【讨论】:

      • 加密可以反转。这不能,所以它是散列,而不是加密。
      【解决方案4】:

      它使用 MD5 对其进行哈希处理。

      从表单中获取您的密码,添加盐并对整个内容进行哈希处理。

      注意:

      “盐”是另一个哈希。这样做不是一个好主意,盐应该是您创建的一个随机值,以确保密码安全。

      【讨论】:

      • 不确定为什么有人会否决正确答案?嗯
      • 我没有,但现在我做到了。您将盐与自定义散列函数弄错了。正如我所说,现在是 -1。
      • 我没说它是好盐哈哈。
      • 来自Wikipedia: '...盐由随机位组成,创建一个单向函数的输入。另一个输入通常是密码或密码。散列密码不是盐。
      • @AlexReynolds 您必须使用硬编码盐,但理想情况下,每次安装应用程序(例如 phpMyAdmin)都会有所不同。
      猜你喜欢
      • 2014-07-12
      • 2016-12-21
      • 2016-08-02
      • 2013-03-24
      • 2011-03-20
      • 2015-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多