質問

何が良いハッシュ機能しているのでしょうか。私の多くのハッシュ関数と応用データ構造科大学が主たることにかく良いハッシュ機能です。経験則として、衝突を避けるためには私の教授と:

function Hash(key)
  return key mod PrimeNumber
end

(modの%【オペレーターのCおよび類似語)

の素数のサイズのハッシュテーブル。私はやや良い機能衝突を避けるためにバッファ付き低インピーダンスがどうしたいのでよりよい。がより良いハッシュ関数の文字列のキーの対数値キー?

役に立ちましたか?

解決

ているような"通常の"ハッシュテーブルをルックアップなど、基本的にどのようなデータがここにポール-謝の私の使用します。

http://www.azillionmonkeys.com/qed/hash.html

ご注暗号法論的には確かに進化し、そのYMMV.また、kick ass汎用ハッシュ関数のハッシュテーブルのルックアップ、これこそます。

他のヒント

あなければならないと思うか"良いハッシュ機能"ユニバーサルハッシュ(ed.そうなんであのようなものとしての"ユニバーサルハッシュ"でも、それだけではありませんん).この時、文脈によって異なる基準を決める品質のハッシュ.二人で既に申し上げたように、社.ここは暗号化ハッシュやかでもハッシュテーブルで使うことができる。

ハッシュテーブルがかなり異なる。でも、良いハッシュ関数普遍的にはハードで異なるデータ型を暴く異なることができる情報ハッシュされた.経験則として、ブランチでの検討 すべての 情報タイプのとおりです。-この容易なも可能です。理由の統計との衝突でも重要なものを手頃な値段のわりにとてもいいのスペースの問題、すなわち全ての可能なオブジェクト。この時のハッシュ番号100 1050ではありませんの最上位桁に大きな役割を果のハッシュでは約90%のオブジェクトは、この桁が0になります。これよりも格段に重要なのは、最後の桁で定のハッシュ.

同様に、ハッシュ文字列でも重要になるすべての文字以外の場合で知られることを事前に最初の三文字の文字列することが重要であること"それらを考慮したそしています。

この場合アドバイスをしている読み取Knuthしてい 美術のコンピュータのプログラミング作, 集,vol.3.これからも読み取Julienneウォーカーの の美術のハッシュ.

が大きな目的のハッシュ機能

  • 分散データポイントを均一に入nビット.
  • 安全の特定の入力データです。

でおすすめのハッシュを知らずにいるのです。

まだ作りのハッシュテーブルプログラムの作成を通して、そのなかで可逆的には領域を拡げのアルゴリズムは---SHA-1またはAESは全く不要なためこのまえに基づいており、また以下のa 変FNV.FNVを実現しよりよい分散が少ない衝突により簡単に盛りmodいて、より適合した変化する入力サイズです。

でご利用の場合、ハッシュに隠認証情報などのハッシュパスワード、文書そのものを使用できる最大のハッシュアルゴリズムの吟味された公的細な検討が行われています。 のハッシュ機能ラウンジ は始まります。

この例でも、またひとつの例だいたい書けます。では、ファウラー/ノール/Vo(FNV)のハッシュする等コンピュータ科学の天才と純度が強い:

unsigned fnv_hash_1a_32 ( void *key, int len ) {
    unsigned char *p = key;
    unsigned h = 0x811c9dc5;
    int i;

    for ( i = 0; i < len; i++ )
      h = ( h ^ p[i] ) * 0x01000193;

   return h;
}

unsigned long long fnv_hash_1a_64 ( void *key, int len ) {
    unsigned char *p = key;
    unsigned long long h = 0xcbf29ce484222325ULL;
    int i;

    for ( i = 0; i < len; i++ )
      h = ( h ^ p[i] ) * 0x100000001b3ULL;

   return h;
}

編集:

  • オグデンCurtノールを勧告に 当サイトで のFVN-1Aアルゴリズムの独自のFVN-1アルゴリズム改良アルゴリズムにより分散最後のバイトのハッシュ.私の調整アルゴリズムます。

僕の主な原則にはないロールします。利用するようにしてこれを徹底的に試され、例えば、SHA-1なされるようになっています。

良いハッシュ関数は以下のプロパティを持ちます:

  1. 指のハッシュのメッセージで計算困難のために攻撃者を探しのメッセージもそのハッシュは同じです。

  2. れのメッセージm'mでは、計算機上で誰をどこh(m)=h(m')

二つのケース ない 同じです。の場合には、既存のハッシュにいることを見出そうと衝突します。後者の場合には、探し 他の 二つのメッセージが衝突した.第二の課題は大幅に簡易化されることになりますの誕生日"パラドックス"と言える。

することが可能な、全機能のも大きなものではありません、しなければなりません、ハッシュ機能です。が非常に巧みな攻撃できることにより強制衝突のハッシュ.ご利用の場合は強いものから、冒頭に、安全対す。

なMD5またはSHA-1に新しいデザインです。最cryptographersにおいて、いと考えるわけにはいかない。の原則源の弱さにするとともに、安全衛生面でも、デザインの物件は、上記のないこれらの構造物が構築できます。場合、攻撃者を生成できる二つのメッセージ、m、m'は、両方のハッシュの値は同じ値を使用できるこれらのメッセージの限りではありません。SHA-1、MD5まからのメッセージの拡張の攻撃では致命的に弱める申請の場合は注意した方が良いと思います。

現代のハッシュなどのWhirpoolができます。ながらこれらのメッセージの拡張の攻撃を使用して同じとしての数学AES用を証明する安全保障に対する様々な攻撃であった。

こ!

何なんて言ってはいるが衝突す。使ってみSHA-2.やくしましょう(い)ブロック暗号一方圧縮機能では絶対手に入らないことを前)のように、AESにMiyaguchi-Preenelモードになります。の問題とそれに必要なもの:

1)。使い方は最初の256ビットの小数部品のKhinchinの定数があります。2)パディングスキームです。簡単です。ウからハッシュのようなMD5またはSHA-3(Keccak[もケット-澤']).ない場合にセキュリティ(少数の人たちのこ)は、FNVはlookup2によるボブ-ジェンキンズ(実は私の人reccomends lookup2)もMurmurHash、迅速にチェックす:.16cpb).

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top