我正在构建一个带源系统,我在'提供可采用的虚拟宠物的网络上发布。该系统将主要由孩子拥有。由于我希望它可以用于绝对的初学者程序员,因此我的系统中存在一些复杂性约束:它不能使用通常不随PHP提供的库,也不能访问数据库或写入其他永久存储。在PHP中简单加密
当每只宠物被采纳时,访问者会随机获得该宠物的一系列略有不同的变化之一。变化最初看起来是一样的,但随着时间的推移成长成为不同的宠物。访问者将被给予HTML链接到他们的宠物图像短代码。由于服务器端没有永久性存储器,因此用户的图像链接必须包含所有信息以确定它们最终得到的宠物差异。
目前,URL只包含宠物的ID和用户获得的变体的ID。与此相关的问题是,通过比较代码,用户可以计算出他们中的哪些人得到相同的变化。由于某些变化比其他变化更为罕见,因此用户可以轻松地发现罕见的变化,甚至在差异甚至在视觉上变得明显。
我想要的是一个加密系统的URL中的细节。某些隐藏变体ID的内容,以便每个用户都可能获得不同的URL。我想过使用变化ID(3或4位)作为一个大的随机数的低位或高位,但用户会发现这种模式。理想情况下,加密系统将被参数化,以便我的系统的每次安装都会使用稍微不同的加密。
PHP的mcrypt库可能会有一些有用的东西,但它似乎不是很常见的主机之间。
是否有一个简单的,参数化的,混淆/加密我可以在这里使用?
听起来像一个很好的策略。我也可以使用特定于安装的密钥对整个字符串进行异或。你对“攻击者”的复杂程度的直觉是非常正确的.. :) – thenickdude 2008-11-29 03:30:55