【问题标题】:Why md5($string) != $string in php?为什么在 php 中使用 md5($string) != $string?
【发布时间】:2018-05-18 09:34:21
【问题描述】:

我的 md5() 函数有问题。我正在玩这个功能。但我被困在一个点上。

<?php

    $name = 'Taif';

    if (md5($name) == $name){
        echo 'True';
    }   else{
        echo 'False';
    }

?>

为什么会打印出 False?

【问题讨论】:

  • 回显md5($name),你会发现原因。
  • 您认为md5 会做什么?这是一种散列算法,输出永远不会与输入相同。
  • 不要使用 md5。除非你是......好吧不......想不出任何理由使用它。只是不要。
  • 伙计们,这是一个棘手的问题,你们都被触发了,哈哈,虽然这是 reddit 的 OP

标签: php md5


【解决方案1】:

在您的代码中,$name 的值为“Taif”,而md5($name) 的值为“40f245f002555c4a6105d6066d2bdb85”

所以它不可能返回“True”,因为它们是完全不同的值。

MD5:string md5 ( string $str [, bool $raw_output = FALSE ] )

使用» RSA Data Security, Inc. MD5 Message-Digest Algorithm 计算str 的MD5 哈希,并返回该哈希。

【讨论】:

    【解决方案2】:

    md5() 是一个用于加密纯文本的 php 函数。例如:将纯文本(即密码)转换为加密文本。

    【讨论】:

    • 1:加密!= 散列 2:从不使用纯 md5() 对密码进行散列。
    猜你喜欢
    • 2013-03-08
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多