我目前正在为客户建立一个数字散列系统。如果我用hash('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);
}
所以我想我的问题归结为:是否可以一次散列多个数字并检索相同的输出,就好像我要一个一个地散列它们一样?还是我错过了什么或做错了什么?