2

我有一个我正在使用 PHP 开发的 MySQL 数据库,它将从每日数据馈送中执行地址验证。我们会在最后进行地址更正,因为我们无法控制提要的来源。

我试图想出一种方法来查看地址是否已在源头更改。如果它发生变化,那么将在我们的 MySQL 数据库上用 PHP 执行地址验证。

在不存储旧提要的副本的情况下,我认为最好对提要中的字段进行校验和并将其存储在每条记录中。然后,之后的每个提要都会查看校验和是否已更改。这是最好的方法吗?是否已经有一个 PHP 函数可以完成所有这些工作?MySQL 中的一些东西呢?谢谢!

4

3 回答 3

7

crc32 可能是你想要的。

在 php 中:crc32() 在 Mysql 中CRC32()

crc32 可能更适合 SHA1 或 MD5 进行简单比较/数据完整性: 请参阅此处

于 2012-11-14T19:17:34.837 回答
2

PHP 和 MySQL 都支持运行成本低的功能;至少比 MD 或 SHA 之类的哈希算法要少。crc32

于 2012-11-14T19:17:04.240 回答
1

您可以使用各种散列方法,md5 或 sha 都可以,您需要在数据库中存储要比较的散列字符串,理想情况下您想做类似的事情

if (sha1(strtoupper($list_of_values) )=== $stored_hashstring){
    //skip
}else{
    //update
}

根据数据,您可能需要在字符串上添加额外的解析,即:删除空格等

于 2012-11-14T19:34:45.627 回答