0

かなり長いユーザー識別子のリストがあります。識別子は、HTTP リクエストで送信されるたびに正確に一致するとは限らないため、ファジー文字列比較を使用してユーザーを認証します。まさにその理由で、あいまいな文字列比較アルゴリズムがハッシュされた値で機能しないため、識別子をハッシュできませんでした。わずかに異なるプレーンテキストでも、ハッシュすると完全に異なる値が得られるためです。距離(s1、s1')が距離(algx(s1)、algx(s1'))に何らかの形で比例するアルゴリズムalgxはありますか?または、問題に対処する他の方法はありますか? 注: この意味での距離は、あるテキストを別のテキストに変換するために必要な編集量を意味します。

4

3 に答える 3

0

locality-sensitive hashingを探しているようです。

于 2012-04-05T14:46:16.530 に答える
0

1 つの解決策は、各アルファベットのカウントを保持し、カウント配列を比較することです。カウント間の不一致は、文字列が明らかに類似していないことを意味します。

于 2012-04-05T17:21:47.813 に答える
0

2 つの文字列の差を測定するレーベンシュタイン距離のようなものを使用できます。同じ名前のPHP 関数もあります。

于 2012-04-05T14:45:22.967 に答える