0

SHA1やMD5などのハッシュ関数は一方向の暗号化システムであることを私は知っています。

しかし、「ハッシュ解除可能」なハッシュ方法はありますか?

同様に、x文字の文字列を生成し、それを元の文字列に「デハッシュ」することができます。

そのようなハッシュ方法はありますか?PHPと互換性があるかどうかを評価します。

更新:ハッシュ関数とは、復号化できるx文字列を生成する暗号化方式です。混乱させて申し訳ありません。

4

2 に答える 2

5

hashing functions such as SHA1 and MD5 are one-way encryption systems.

完全ではありません-あなたが言うように彼らはそうhashing functionsです。これらは、パスワードハッシュアルゴリズムなどの暗号化システムと一緒に使用されることがよくありますが、暗号化システムや暗号化アルゴリズムではありません。

But is there a hashing method which is 'dehashable'?

hash functionいいえ、ハッシュ関数は大きなデータセットを小さなデータセットにマップするため、その場合はそうではありません。これには、異なる入力データから同じハッシュ値を取得できるという副作用があり、ハッシュキーから元のデータを計算できなくなります。たとえば、元のデータが変更されているかどうかを確認できます。同じハッシュ関数を元のデータに再度適用し、計算されたハッシュキーを比較します。それらが異なる場合、元のデータは変更されています-それらが同じである場合、元のデータは(少なくとも非常に可能性が高いですが)変更されていません。

探しているのは、おそらく圧縮/解凍アルゴリズムまたは暗号化/復号化アルゴリズムのいずれかです。

于 2012-11-30T08:41:17.487 に答える
2

ハッシュ値を元の値に復号化することはできないため、ハッシュ(一方向の)暗号化ではありません。これは仕様によるものです。

また、ハッシュ関数は、特定のハッシュ値に一致するデータセットを作成するのが非常に困難になるように設計されています(衝突を参照) 。

アンドレアスが示唆しているように、あなたは圧縮または暗号化機能を探しています。

于 2012-11-30T08:45:00.550 に答える