私は非常に大きな数を扱っています。私のアルゴリズムの 1 つは、そのアルゴリズムを実行するために、数値 'x' が別の数値 'n' よりも小さい必要があります。非常に大きな数字を暗号化して小さな数字を生成し、数字を解読して大きな数字に戻す必要があるときにキーを保存することは可能でしょうか? 私は mcrypt を見てきましたが、それはすべての数字を出力するわけではありません。私が見たものから、文字列を出力します。
質問する
277 次
2 に答える
1
あなたが話しているのは「暗号化」ではなく「圧縮」と呼ばれるものです。
どちらかといえば、暗号化はその入力よりも大きな文字列を生成する可能性があります。数を圧縮できるかもしれませんが、それは非常にわずかな節約になります。
可能な値の範囲によっては、考えられるすべての大きな数値の配列を単純に構築し、数値自体の代わりに配列インデックスを操作できる場合があります。
于 2012-11-16T19:11:24.203 に答える
0
数値をより高いベースに変換して、より少ない文字で表すことができます。たとえば、数値が基数10の場合は、基数16に変換します。GMPライブラリを使用して、基数10ではないこれらの数値を非常に正確に計算できます。
GMP(Gnu Multiple Precision)ライブラリについては、 http://www.php.net/manual/en/book.gmp.phpで読むことができます。
于 2012-11-16T19:18:56.073 に答える