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 に答える