MD5? 知ってても面倒?
MD5ってなに?
MD5って知ってますか? 「MD5とは、任意の長さの原文を元に128ビットの値を生成するハッシュ関数(要約関数)の一つ。生成された値はハッシュ値と呼ばれる。」らしいです。ほー、です。MD5のは「 Message Digest 5 」らしいです。何ができるかと言うと、ファイルに改ざん、欠落がないことを確認することに利用できます。
「ファイル」を「ハッシュ関数」の処理に食べさせて、でてくる結果が「ハッシュ値」です。
このハッシュ値はファイルを要約(ダイジェスト)したもので、ファイルが少しでも変更されていれば、「ハッシュ値」が違ったものになります。
具体的に
あるホームページに「ファイル」と「ハッシュ値」があるとします。この「ハッシュ値」はホームページ作成者が事前にアップロードする「ファイル」を「ハッシュ関数」に食べさせて、でてきた「ハッシュ値」です。次に、ホームページの訪問者が「ファイル」をダウンロードします。ダウンロードした「ファイル」を「ハッシュ関数」の処理に食べさせると、「ハッシュ値」がでてきます。この「ハッシュ値」がホームページにある「ハッシュ値」と違いがなければ、ホームページからダウンロードの間で変化がなかったことを示します。要するに、改ざんや欠落がなかったことになります。
利用方法
以前、インターネットからダウンロードする時は、いつも、MD5を確認しよう試みましたが、アプリをいれないと確認できない面倒な状況だった様に思います。ですが、最近、windowsアップデートのおかげでPCがクラッシュし、様々なものをダウンロードすることになり、その時にMD5があったので、ふと、ぐぐったらwindowsの標準機能でできるとありました。以下です。
1 |
certutil -hashfile <ファイルパス> [ハッシュアルゴリズム ※ここではMD5です] |
びっくりしました。DOSコマンドでできるとのことです。早速、試すと、できました。こんなに簡単であれば、メモっとこうと今回のブログになりました。
でも、根本的にダウンロード元は正しいのか?
ちなみに、ダウンロード元のホームページが正当なものか、怪しいものかの区別をつける方が難しく感じています。以前、グーグル検索の上位に、ほしいアプリの名前のサイトがあるので、そこからダウンロードしました。すると、中国の変なサイトに通信をはじめる有様。最近は複数の情報源で同じサイトを示しているのかを確認してからダウンロードする様にしています。が、本当にあっているのか今でも不安です。
こんな、根本的な問題が解決できずにいますが、とりあえず、MD5についてはここまで!どなたか、ダウンロード元が正しいかを明確に回答できる方法があれば、未熟な私に教えてほしいです。それでは!また。