我有一张带自增主键的表。我想将图片与主键关联起来,但不想暴露主键。我是否可以将图片命名为:
$filename = md5($primarykey + $secret_string) . '.jpg';
这是一个好的解决方案吗?
我担心可能会出现冲突并覆盖文件。
当然,另一种选择是生成一个随机字符串,检查它是否存在于文件中并将其存储在数据库中......但如果不必要的话,我更喜欢不存储额外的数据。
另一种选择是逻辑转换YouTube网址样式,例如1 = a 2 = b,但顺序是随机的,例如1 = x 2 = m ......但那么有可能被解码......加上md5可能比任何youtube url函数更轻量级。
我猜我正在处理超过两百万条记录,那么发生冲突的可能性有多大?你会选择哪个选项或者你能想到更好的方法吗?