需要有关检查数组是否有变化的建议

问题描述 投票:0回答:1

我正在开发一个项目,它将信息从外部API保存到数据库中。此API仅显示最新的可用信息,因此我需要检查此API并将其与我自己的数据库信息进行比较,以查看是否有新的更改。

以前,我通过手动比较每个值来做到这一点:

if($externalapi['item'] !== $mydatabase['item']) {
    // changes detected!
}

既然我正在制作这个项目的V2,我觉得这不是正确的方法,我应该采取不同的方式。

我已经考虑过MD5的外部API输出和我自己的数据库输出,并比较这两个。

if(md5($externalapi) !== md5($mydatabase)) {
    // changes detected!
}

但我不确定那是多么可靠。

最好的办法是什么?

php compare md5
1个回答
0
投票

在确定此类用途的哈希函数的可靠性时,您会对加密哈希的“生日问题”名称冲突概率感兴趣。例如,如果您在100年的时间内每秒散布数十亿个不同的列表,我相信典型的MD5哈希将有50%的机会产生名称冲突。

搜索加密哈希的“生日问题”或“名称冲突”概率将为您提供理解可靠性所需的所有数学计算。

© www.soinside.com 2019 - 2024. All rights reserved.