ハッシュからURLやアドレスに変換するにはどのように記述すればよろしいでしょうか?
調べたのですけど、見つかりません。
VB.NETです。
ハッシュ化とは?
文字や数値をある一定の規則で変換すること。
変換にはハッシュ関数、別名一方通行関数を使う。
一方通行という名のとおり、変換されたものをもとに戻す手段は無い。
本当に調べましたか?調べたらこんな質問は出ないはずですが。
>ハッシュ化とは?
>文字や数値をある一定の規則で変換すること。
>変換にはハッシュ関数、別名一方通行関数を使う。
>一方通行という名のとおり、変換されたものをもとに戻す手段は無い。
本当に調べたんです。
何とかして、ハッシュをアドレスに変えたいんです。
一本通行や擬似乱数などを使用しているため、アドレスに戻すのは
不可能と考えているのですが、もしかしたら、変換を可能にしている方
がいるかも?っと思って質問したんです。
結論から、どうしても、ハッシュからアドレスに変えたかったのですが、
やっぱり、無理な話でしょうか?
どのハッシュ方式なのかが不明ですが、単方向関数で得られた値というものは
基本的に復元は不可能だと思います。諦めましょう。
(復元可能ならば、それは単方向関数とは呼べないでしょうし)
なお、上記で「基本的には不可能」と書いたのは、力技な方式として
『総当り的に』データを次々にハッシュ化していく方法をとれば、
最終的には、目的となる元データに辿り付ける可能性があるからです。
# この試みは、distributed.net などで試されています。
# http://www.distributed.net/rc5/
ただ、総当り方式を使うにしても、
・同じハッシュ値を得られるキー(元データ)が、複数存在する可能性がある。
・総当り方式で片っ端から試すのは、非現実的な処理量が必要になる。
などの理由から、理論的には可能でも、事実上は不可能と言えます。
> 結論から、どうしても、ハッシュからアドレスに変えたかったのですが、
何故「ハッシュからアドレスに変換」する作業が必要なのかを教えてください。
やりたい事によっては、別のアプローチを提示できる かも 知れませんよ。
>ただ、総当り方式を使うにしても、
>・同じハッシュ値を得られるキー(元データ)が、複数存在する可能性がある。
>・総当り方式で片っ端から試すのは、非現実的な処理量が必要になる。
>などの理由から、理論的には可能でも、事実上は不可能と言えます。
結論から不可能なんですね。
分かりました。
変換させるのはあきらめます(TT)
>何故「ハッシュからアドレスに変換」する作業が必要なのかを教えてください。
>やりたい事によっては、別のアプローチを提示できる かも 知れませんよ。
ソフトのダウンロードなどでリンク先が張られていなく、
ハッシュのみしか記載されていないんです。
その時、左にMD5って書かれていました。
あと、そのホームページは何処だか忘れてしまいました。
もし、それと、同じパターンのホームページが出てきたら、
ダウンロードできないっと言うことになってしまうので、
ハッシュをアドレスに変換するソースを探していたんです。
別の方法があるのならば、教えてください。
また、不可能ならあきらめます。
> ソフトのダウンロードなどでリンク先が張られていなく、
> ハッシュのみしか記載されていないんです。
> その時、左にMD5って書かれていました。
それはリンク先のハッシュ値ではなく、
DLしたファイルが正しいファイルかどうかを
DLした側が調べれるように載せている
『ファイルのMD5ハッシュ値』ではないですか?
> 『ファイルのMD5ハッシュ値』ではないですか?
でしょうね。(^^;)
どこのサイトか分からない以上、推測にしかなりませんが、そのハッシュは、
「ファイルのダウンロードが成功したかどうか」を確認できるよう、
ファイルから得られるMD5値を載せているだけだと思いますよ。>マグさん
ダウンロードしたファイルのMD5ハッシュ値をとってみて、
サイトに書かれていた値と同じハッシュが得られればダウンロード成功。
異なるハッシュ値になれば、ファイルが破損していたという事で。
ですから、たとえ逆変換が可能だったとしても、URLにはならないかと。
もしかしたら、単純にリンク先を見逃している可能性があるかも。
では、無理なようなので、あきらめます。
ありがとうございました。
ツイート | ![]() |