PHP - 是否可以散列数组?

时间:2013-06-06 14:33:47

标签: php mysql arrays numbers sha256

我目前正在为客户端设置一个数字哈希系统。如果我用 哈希('sha256',$ number) 逐个哈希数字,我可以将它们插入数据库并在以后正确查找它们没有任何问题

如果我通过相同的哈希 (''发送一系列数字,例如: (1041,1042,1043,1044,1045) sha256',$ array) 输出与我逐个完成时得到的输出不匹配。这种情况有特殊原因吗?哈希数组是一个坏主意吗?

代码示例

如果我按照以下方式自行传递数字1031,我将得到:3e34b5dc434bcf3186f089d362691cfac1b17231601f2f402dc79015be878d83

$number = 1031;
$hash = hash('sha256', $number);

如果数字1031通过以下哈希传递,我得到的结果是:d83e4573f6d32ca3f17b77046809c1effe3b462b4cd7338d2c80568e63c76599

while($row = mysqli_fetch_assoc($query)){
     $numbers = $row['pnumbers'];
     $hash = hash('sha256', $numbers);
 }

所以我想我的问题归结为:是否有可能一次散列多个数字并检索相同的输出,就好像我要逐个散列它们一样?或者我错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:0)

没有for(每个)循环,这是不可能的。你怀疑输出是什么,一个包含哈希的数组? Here您可以找到哈希函数的文档