-5

重複の可能性:
PHP の短い「暗号化/ハッシュ」

右、

ID を作成する必要があります。PDKJ23HB43 などの PHP を使用して、100000001、100000002、100000003 を予測しにくい文字列に変換する

  • 英数字である必要があります。
  • (可能であれば) 長さは 5 ~ 15 文字である必要があります。
  • 可逆的である必要があります。
  • 一意である必要があります。
  • 安全である必要はありません [何かを「暗号化」するために使用していません]
  • (可能な場合) マッピングを記録するためにデータベースを必要とすることはできません。
  • 私がやろうとしていることはまったく可能ですか?

URL が TinyURL に変わるのと似たようなものになると思いますが、それは漠然とした推測にすぎません。

base64 などのいくつかの異なるオプションを試しましたが、出力が長すぎます (理由はわかっていますが、このようなことをする必要があったのはこれが初めてなので、より良い解決策を見つけることができません) .

助けてくれてありがとう、どんな人でも大歓迎です。非常に直接的に尋ねている場合は申し訳ありませんが、それが私の目標を達成できる唯一の方法です。

4

2 に答える 2

3

これを可逆にする必要があるため、mcryptの使用をお勧めします。ただし、これには間接費がかかります。

予測可能な ID が必要ない場合は、システムを変更して を使用してランダム ID を生成してみませんuniqid()か?

于 2012-07-10T15:44:55.270 に答える
0

これを使用できます:

echo base_convert(time(), 10, 34).base_convert(rand(), 10, 34);

予測可能な(安全でない)IDが必要な場合は、カウントだけをどこかに保存して使用します

echo base_convert(mycount, 10, 34);
于 2012-07-10T15:44:43.160 に答える