Gauche > Archives > 2012/01/04

2012/01/04 19:13:16 UTCshiro
#
hashdos対応ってした方がいいのかなあ。Gaucheではそれほど「何でもハッシュテーブルに入れる」って文化が無いからアプリの脆弱性に発展するケースって限られるとは思うけど、可能性は常にある。
#
だがScmHashCoreにフィールドを追加するとABI compatibilityが問題になりそうだなあ。
#
実行毎に変わればいいんだから、グローバルにひとつランダムな値を持たせればいいのか。で、内部でバケットを決める時に、その値に依存したsecondary hash関数で再度ばらまく。
2012/01/04 19:26:56 UTCRui
#
ハッシュ値の初期値を0ではなくそのランダムな値にしてハッシュ値を計算するというのでは?
2012/01/04 19:29:23 UTCshiro
#
外から見えるハッシュ値はconsistentでないとだめなのです。永続化されてる可能性があるので。
2012/01/04 19:41:33 UTCRui
#
なるほど。ぼくがよくわかってないだけかもしれないんですが、(1)外から見えるハッシュ値と(2)実行ごとに決まるランダムな値、だけを使ってバケットは決められないですよね。1は予測可能で2は同じ値なので結局ハッシュ値が同じ値はぜんぶ同じバケットに入るので。ということは元の値と2を使ってハッシュ値を再度計算しなおすということになるんでしょうか。
2012/01/04 19:58:05 UTCshiro
#
そゆことです。全部について計算しなおすのもばからしいので、例えば衝突した時だけsecondary hashを使う、とかそういう感じにできないかな。