【发布时间】:2019-05-19 04:47:33
【问题描述】:
在一段原本不是我写的代码中,我发现了这个:
md5($variable1|$variable2|$variable3)
我知道代码正在使用md5 加密某些内容。我想了解的是| 运算符在以这种方式使用时在做什么。
更新 1:它当然不是串联的。这样对我来说很有意义:
$finalString = $variable1.$variable2.$variable3;
md5($finalString);
但| 是 OR 运算符。我试图了解md5($variable1|$variable2|$variable3) 的作用,使用| 运算符作为md5() 方法中参数的一部分。顺便说一下,这是 PHP 代码。
【问题讨论】:
-
$variable1(等等)包含什么样的值?|是一个按位 OR,所以如果它们是数值,它可以完全按预期运行。 -
$variable1和$variable2是数字 ID,例如2432和3234322。$variable3是一个随机字符串,例如adtw2GEt4PrPghhfLApae。 -
我想我现在明白了。作为按位或,它所做的只是使加密的值更难破译,因为它不仅依赖于单个变量的
md5()加密,而且它对多个变量的组合进行按位或,使得加密的字符串更难破译。 -
你的问题没有加密,只有散列。
-
查看我对您评论的回复。在这种情况下,
123和'123'之间没有区别。
标签: php parameters operators md5 or-operator