2

私は私の質問に答えることができませんでした。

他の人と比較して忠実度を見つけることができるハッシュを生成するハッシュメソッドが必要です、

たとえば、「母」、「父」の2つの文字列が必要であり、2つのハッシュを比較すると、「その他」のためにそれらの間に忠実度があると表示されます。

それができるハッシュ方法はありますか?

ありがとうございました

4

4 に答える 4

3

PHP は、similar_text2 つの文字列間の類似性を計算する と呼ばれる関数を提供します。この関数を使用してlevenshtein、2 つの文字列間の距離を計算することもできます。これらはハッシュ関数ではありませんが、私が求めている機能を提供する必要があると思います。

于 2013-01-02T22:26:00.997 に答える
1

特定の 2 単語のケースに固有の回答を探していたかどうかはわかりませんが、全体の一部を比較するのに役立つハッシュ スタイルの関数は間違いなくあります。ハッシュ ツリーは、そのような構造の 1 つの完璧な例です。ハッシュ ツリーは、データのチャンクの一部を比較するために使用され、データのチャンク全体を比較するために集計されます。

また、ほとんどの現実世界のハッシュ関数では、入力に関する情報を出力から派生させることはできないと指摘する人もいますが、彼らは暗号化ハッシュ関数について話していることにも注意してください。通常のハッシュ関数の一連の保証は、暗号化ハッシュ関数の保証よりもはるかに厳密ではありません。たとえば、Java では、.hashCode()すべてのオブジェクトに対してオーバーライドして 4 を返すことができます。これは完全に有効ですが、あまり役に立ちません。衝突は一般的なハッシュ関数では問題ないため有効ですが、暗号化ハッシュ関数では失敗と見なされます。

于 2013-01-11T17:42:07.840 に答える
0

rot13 は、すべての母音を取り除くことに加えて、資格があると思います。実際のハッシュはそうではありません。それがポイントです。

于 2013-01-02T22:25:56.640 に答える
-2

要するに:言葉の普遍的な意味で存在することはできません

これが理由です:

  • ハッシュの主な機能の 1 つは圧縮です。些細な使用法 (「母」や「父」など) を除けば、ハッシュは常にハッシュされた情報よりも短くなります。たとえば、迅速なチェックとして SHA1 (または MD5) を使用すると、600MB の ISO のダウンロードが破損せずに行われたかどうかは、ファイル自体よりもはるかに短くなります。
  • ハッシュのもう 1 つの主な機能は、(非常に高度な) 難読化です。そうでない場合、ソルト化されたパスワードをハッシュしても、類似のパスワードは類似のハッシュになるため、辞書攻撃から保護するために何も (または少なくともはるかに少ない) ことになります。
于 2013-01-02T22:27:55.733 に答える