単純なデータベースの主キーを短いURLセーフ文字列に暗号化することを検討しています。jasypt暗号化ライブラリを調べましたが、暗号化された各数値の長さは少なくとも20文字です。できるだけ小さくても、2方向に暗号化でき、おそらく5文字程度の長さのものを探しています。暗号化は非常に安全である必要はありません、私はそれが明白でないことを望みます。何か案は?
質問する
418 次
1 に答える
0
最短の方法は、URLセーフ文字とURLの十分な大きさのアルファベットを含むインデックスを使用することです。インデックスを「カウント」して、URLとともにデータベースに保存するだけです。
長さは、保存する必要のあるURLの数によって定義されます。
たとえば、使用するアルファベットで大文字と小文字を区別するすべての文字と数字を使用している場合は、(24 + 24 + 10)^ 5のURL(5文字)を保存できます。
したがって、最初のURLは00001になります。このアプローチは、URLキーを推測できることは問題ないことを前提としています。
それらを簡単に推測できないようにする必要がある場合は、次のキーをランダム化し、そのキーがデータベースにないことを確認して使用します。キーの数が非常に多いため、データベースに数百万のキーがない限り、キーが頻繁に衝突することはありません。
于 2012-08-15T13:20:53.890 に答える