1

暗号化された文字列(md5と同様)を、再度デコードする機能を失うことなく変換することは可能ですか?

0TJyj0wX4ZCrsYlANG8QgwBHnGzGU7kr1BEkolr6tY0OdowpA==

Better: 73a4842f36b4n237m64as23
4

3 に答える 3

2

ハッシュは、定義上、一方向です。暗号化された文字列をハッシュしてから「ハッシュ解除」して、暗号化された文字列を再度取得することはできません。

ただし、次の方法で暗号化された文字列を「縮小」することを試みることができます。

  • 可逆圧縮アルゴリズムを使用する - ただし、暗号化されたデータは十分に圧縮されず、特定の入力セットの圧縮では実際にストレージ要件が増加する可能性があるため、このアプローチで多くを得る可能性は低いです.
  • データを暗号化する前に圧縮します。入力のサイズによっては、暗号化のみの場合よりもサイズを数パーセント減らすことができます (アルゴリズムによって異なります) が、通常は 5 ~ 10% を超えることはありません (繰り返しますが、この回答はこれを指摘しています) 。
  • より高い「ベース」でデータを再エンコードします (つまり、文字列が Base64 の場合、Base85に切り替えることができます) -- しかし、これは7% の節約になります
于 2012-03-21T20:58:57.560 に答える
0

PHPで暗号化する最良の方法は、Mcrypt拡張機能を使用することです。 http://www.php.net/manual/en/book.mcrypt.php

暗号化復号化の例。

暗号化の結果をbase64エンコードすることもお勧めします。

小さなデータ(パスワードなど)の場合、縮小は意味がありません。

于 2012-03-21T21:11:14.310 に答える
0

RSAを使用してデータを暗号化できます。これを参照してください。phpで暗号化する方法について説明しています

于 2012-03-21T20:57:45.647 に答える