• 締切済み

ハッシュ値について

natu2000の回答

  • natu2000
  • ベストアンサー率69% (83/119)
回答No.4

>同じハッシュ値が検出されるということは有り得ないですよね? 例えばAとBのファイルがそれぞれあって 両者はファイルサイズが違っていて明らかに違うだろうと思っていても ハッシュ値が同じなんてことはあります。 これはハッシュの精度?(何パターンの種類?)だと思うのですが 例えばAとBをCRC16でハッシュ値をとってみると同じだが CRC32で取ってみると異なるハッシュ値だった ということがあります。 単純にCRC16とCRC32ではbit?の桁数が上がったので ハッシュパターンも増え、異なった数字が出たに過ぎないわけです とはいえ、やはりCRC32も限界になってくるので md5なんてものがあるわけですが md5もやはり同じ値を示す場合があります(あきらかにファイルサイズが違いのに同一のmd5値など) 現状、ハッシュをとるというのは 精度や普及状態をみるとmd5がモアベターなのですが ほかの人も言うように、ハッシュをとると必然的に ハッシュ値をもとめている時間が掛かります。 例えばファイルサイズにもよるのですが、 数Gだと1-3分ほど待つことになります。 md5は精度が高いので時間が掛かるのですが 例えばCRC16に変更してもG単位では1-3分かかって大差ありません。 当方は、dcfさんと違うのですが、 ・ファイルサイズが同じでもmd5でみたら異なるファイル ・ファイル名はまったく違うがファイルサイズは同じでmd5も同じ (ファイルがなんらかの経路をわたる際に名前を変えた可能性) ・書庫の種類・圧縮率が異なるものの中身は同じ書庫ファイル というのを検索したかったので つまりファイルの重複チェックをしたかったのですが ベクターにこういうソフトって無いんですよね。 結構md5で修復チェックするようなのもあるのですが 総ファイル数1万超えて1つ1つが200Mとか2G単位とか色々あるので もうそんなのまでmd5だと、何時間あっても足りないんですよね でまぁ仕方ないから自分で要件を満たすソフトを自作したんですけどね おかげで2G以上もあるファイルも、 わずか1-2秒足らずでハッシュ値出しますし180秒ぐらいあれば 250-300GのHDぐらいは、丸ごとハッシュ値出せるようになったわけで・・・・・ おっと少し脱線してしまいましたが、 >しかし同じハッシュ値が検出されるということは有り得ないですよね? md5なら確立は低いと思います。 やはりどうしても、md5値が同一でもファイルサイズがハナから 異なっているという状況があることは何万分、何億万分の1程度は あるはずで・・・・・・ありえないことはないという状況です。 ただファイルサイズは同じで、md5値が同じであるけど 実は中身のファイルは異なるなどは、かなり稀でしょう たぶん皆無だと思います。 これだと最早、ファイルサイズは同じで、md5値が同じ ファイルの中身も開いてみたけど同じようだという状況と 一見して開いて黙視して見るまでは同じに見えるわけですから 始末に悪いですよね。 あと老婆心ながら言いますが少し思ったので良いますが md5値からファイルの中身は復元できません。 その時点で壊れていると思うという判断は出来ますが 正常なmd5があれば壊れたファイルで何とか、もとのファイルに戻す なんてことは出来ないので、そこのところは気をつけたほうが良いです。 また海外のソフトでmd5からファイルを作るというソフトがありますが オリジナルと同一のモノは出来ません。 これは先ほど説明したとおりです。念のため。

dcf
質問者

お礼

ありがとうございました。 ハッシュ値はMD5を使用しようと考えております。

関連するQ&A

  • ハッシュ関数について質問です。

    プログラミング・数学? 初心者です。 IDやパスワード管理によく出てくる一次方向(ハッシュ)関数ですが、 よくパスワードとSALTを一緒にしてハッシュ関数を通してハッシュ値を取得しますよね。 そしてその結果(データベースなどに記録済み)とログイン時に入力した値とを照らし合わせるわけですが、 昔まだ若いころ、これとは別のタイプのハッシュ関数を使用したことがあります。 それはある(パスワードなどの)値をハッシュ関数で処理すると「いろんなハッシュ値」が生成され、 そのハッシュ値から当然パスワードは予測できないのですが、 しかしその複数のハッシュ値は全て、そのパスワードから生成されたハッシュ値だということは分かる、という関数を使用したことがあります。 その時はperlのcpanモジュール(名前を覚えていません。すいません。)を使ったのですが、この別のタイプのハッシュ関数はどういう仕組みで作られているのでしょうか? SALTが複数あり、そのそれぞれについて照合している?だけでしょうか? それとも私が無知で、そんな関数がそもそも存在するだけでしょうか? わかりません。教えてください。

  • オフライン117のハッシュを教えてください

    (株)ユアネーム制作のフリーソフト,オフライン117を お使いの方・お持ちの方にお願いします。 お持ちのオフライン117のバージョンと offline117.exeのハッシュを教えてください。 ハッシュはMD5等フリーソフトで算出できるもの であれば何でも構いません。 (株)ユアネームのWebページ・Vector 以外 から入手された方はその旨併記してください。 (できれば入手元を教えてください) 最近のウイルスは出来が良く,本体を暗号化するので ウイルス対策ソフトで検出できないものもあるとか。 私自身現用しており,怪しい兆候も無いのですが, 一応,改変が無いことを確認したいのです。 私が使用しているもの: ver. 20110201 MD5: D5CAB188D2D5B6F240D1029C5FFF9918 前回の質問: okwave.jp/qa/q8818822.html

  • 破損ファイルの復元

    破損ファイルの復元の仕方を教えて下さい 自分で調べたりしましたがお手上げです 経緯は 1,旧PC(XP・ハンダ付けメモリー破損)のHDDを取り外す(この時点では、破損の兆候はなかったと思います) 2.そのHDDを、ケースに入れて新PC(7)につなぐ 3.リカバリ領域しか認識しなかったため、リカバリ領域のパーティションをソフトで消す 4.中身(旧PCのCドライブ)を見ると、ところどころに破損ファイル 現在の状態は ・HDD内の一部ファイルが破損状態 ・破損ファイルに決まった法則はないと思わます ・ファイルの容量は同じです ・ハッシュ値、バイナリは全て違うようです ・画像などのメディアファイルだけでなく一部のシステムファイルも破損?(レジストリに依存しないソフトをコピーしても起動しない。もちろん、7で動くことは確認してるソフトです) ・ファイナルデータ(製品9.0)で復元しても、破損ファイルのまま出てきます ・チェックディスクをしても変わらず 今は以上のことしかわかってません どうか、データを救出する方法があったら教えて下さい。 あと、情報不足なら、言ってもらえれば調べます よろしくお願いします

  • 大容量のデータの保管方法

    皆さん、こんにちは。 データの保管に関して相談させてください。 大体半年で500GB程度の増加が見込まれるデータを取り扱っています。 今のところそのデータ群はHDDの破損が心配なので、500GBx2のHDDでミラーリングして格納しています。 しかし、そろそろデータが一杯になってきたので、データの保管の事も考えなくてはいけなくなってきました。 HDDが壊れるのが心配なので、同一ファイルを二重にして5年程度は保存しておきたいのですが、こういったデータはどのように保管しておくのが安全かつ一般的なのでしょうか? 今の状態ですと、500GHDD2台をそのまま引き抜いて、倉庫にでもしまっておくという感じになりそうですが、どうなんでしょう。 もっと良い方法なり保管メディアがあるようでしたら、ご紹介頂けますと幸いです。 よろしくお願いいたします。

  • Windowsログ セキュリティ イベント6281

    コードの整合性によって、イメージファイルのページハッシュが有効でないと判断されました。このファイ ルはページハッシュを使用せず正しくない方法で署名されたか無許可の変更によって破損した可能性 があります。無効なハッシュはディスクディバイスエラーの可能性を示している場合もあります。 \Device\HarddiskVolume3\Window\System32\sxs.dll ファイルを指名して実行 ..........別の場所に移動した可能性があります。 これは何のプログラムのファイルですか、なるべく簡単に説明をお願いします。

  • Windowsログ セキュリティ イベント6281

    コードの整合性によって、イメージファイルのページハッシュが有効でないと判断されました。このファイ ルはページハッシュを使用せず正しくない方法で署名されたか無許可の変更によって破損した可能性 があります。無効なハッシュはディスクディバイスエラーの可能性を示している場合もあります。 \Device\HarddiskVolume3\Window\System32\sxs.dll ファイルを指名して実行 ..........別の場所に移動した可能性があります。 これは何のプログラムのファイルですか、なるべく簡単に説明をお願いします。

  • Media player11を使用できません

    Media player11でネット上の画像を見ようとすると「Windows Media デジタル著作権管理 (DRM) コンポーネントによってエラーが検出されました。オンライン ストアから取得したファイルを使用している場合は、オンライン ストアに移動して、適切な使用権限を取得してください。」とのコメントがでます、どうすればよいのでしょうか?

  • KNOPPIXで破損したlinuxを救済できますか?

    KNOPPIXで破損したlinuxを救済できますか? 下記のアイテムがあります。 1.OSの破損したlinux(centos5)のマシン 2.USB外付けHDD 3.KNOPPIXを焼いたメディア 1のマシンに2のHDDを接続して、3のメディアから起動し、 1の内蔵HDDのファイルを2の外付けHDDにコピーしたいのですが可能ですか?

  • yahoo動画を閲覧するとメディアプレーヤーのエラーがでます

    yahooの無料動画を見ようとしたら下記のメディアプレーヤのエラー が表示されます。 「Windows Media デジタル著作権管理 (DRM) コンポーネントによって エラーが検出されました。 オンライン ストアから取得したファイルを使用している場合は、 オンライン ストアに移動して、適切な使用権限を取得してください。」 で、ヘルプをクリックすると英語のページがでてエラーコード(だと思います) が C00D11E2 とでます。ネットで自分なりに調査したのですが 解決方法がわかりません・・・どなたかご教授頂けないでしょうか? OSはvista Home Premiunmです。宜しくお願い致します。

  • ウィルス駆除ソフトって、

    どこまで検出できるのですか? 1.HDD内の無圧縮ファイル 2.HDD内の圧縮(LZH,ZIP)ファイル 3.HDD内の(圧縮後)分割ファイル 4.マウントされているリムーバブルメディア 時々HDDのウィルスチェックをかけるのですが、 どこまで検索しているのかわからないのです。 よろしくお願いします。