我正在構建一個帶源系統,我在'提供可採用的虛擬寵物的網絡上發佈。該系統將主要由孩子擁有。由於我希望它可以用於絕對的初學者程序員,因此我的系統中存在一些複雜性約束:它不能使用通常不隨PHP提供的庫,也不能訪問數據庫或寫入其他永久存儲。在PHP中簡單加密
當每隻寵物被採納時,訪問者會隨機獲得該寵物的一系列略有不同的變化之一。變化最初看起來是一樣的,但隨着時間的推移成長成爲不同的寵物。訪問者將被給予HTML鏈接到他們的寵物圖像短代碼。由於服務器端沒有永久性存儲器,因此用戶的圖像鏈接必須包含所有信息以確定它們最終得到的寵物差異。
目前,URL只包含寵物的ID和用戶獲得的變體的ID。與此相關的問題是,通過比較代碼,用戶可以計算出他們中的哪些人得到相同的變化。由於某些變化比其他變化更爲罕見,因此用戶可以輕鬆地發現罕見的變化,甚至在差異甚至在視覺上變得明顯。
我想要的是一個加密系統的URL中的細節。某些隱藏變體ID的內容,以便每個用戶都可能獲得不同的URL。我想過使用變化ID(3或4位)作爲一個大的隨機數的低位或高位,但用戶會發現這種模式。理想情況下,加密系統將被參數化,以便我的系統的每次安裝都會使用稍微不同的加密。
PHP的mcrypt庫可能會有一些有用的東西,但它似乎不是很常見的主機之間。
是否有一個簡單的,參數化的,混淆/加密我可以在這裏使用?
聽起來像一個很好的策略。我也可以使用特定於安裝的密鑰對整個字符串進行異或。你對「攻擊者」的複雜程度的直覺是非常正確的.. :) – thenickdude 2008-11-29 03:30:55