我正在研究将一个简单的数据库主键加密为一个简短的 url 安全字符串。我查看了 jasypt 加密库,但每个加密数字的长度至少为 20 个字符。我正在寻找尽可能小的东西,但仍然可以 2 路加密,可能大约 5 个字符长。加密不必非常安全,我希望它不那么明显。有任何想法吗?
问问题
418 次
1 回答
0
最短的方法是使用具有足够大的 url 安全字符字母表和 url 的索引。只需“计数”索引并将其保存到带有 url 的数据库中。
长度仅由您必须存储的 url 数量定义。
例如,如果您将使用的字母表使用所有字母加数字并区分大小写,您可以存储 (24+24+10)^5 个 URL(包含 5 个字符)。
所以第一个 url 可能是:00001。这个 apporach 假设可以猜到 url 键是可以的。
如果您需要确保它们不容易被猜到,只需随机化下一个密钥,检查该密钥是否不在数据库中并使用它。键的数量可能如此之快,除非您在数据库中有数百万个键,否则它们不应该经常发生冲突。
于 2012-08-15T13:20:53.890 回答