2013-02-01 51 views
0

我正在尋找一個函數(php)來將int id編碼成字符串看起來像md5或uuid的結果。對於功能 要求是下一個:URL的反向ID編碼

  • 編碼必須是反向
  • 快速
  • 編碼的字符串必須是唯一的
  • 期望字符是[A-z0-9-]

安全是不是重點,我只需要使用這種id轉換「客戶感知」的安全性,確實使用其他方法使鏈接僅適用於訂單所有者。

我現在看到的工作流程:我從URL中獲取編碼字符串,將其解碼爲int,使用此int值進行查詢。

我想到了方法,當與id一起需要存儲一些哈希,並在網址中使用這個散列,但如果我可以使用函數的要求,我要求,這將是偉大的,因爲我不想添加單獨的字段,按此字段索引等。

+1

啊,通過混淆:)只要你別忽略了其他的安全性,應該罰款雖然。 –

回答

2
+3

這是乾淨和簡單。如果你想「稍微安全一些」,你可以在你的字符串中添加一些簡單的操作:在ASCII值上添加一個數字(凱撒移位),用一個位模式對它進行異或(再次執行它,然後反轉... )。這些不是密碼強大的,但有人會說「嘿,看起來base64編碼!」並試圖扭轉它,仍然看不到原始字符串。 – Floris