假设我的数据存储中有一个实体,我知道它可以具有key_name
从它的属性组合派生的唯一性:
例子:
class Render(db.Model):
#Math props
x_size = db.IntegerProperty()
y_size = db.IntegerProperty()
center_axis_x = db.FloatProperty()
center_axis_y = db.FloatProperty()
center_axis_z = db.FloatProperty()
iterations = db.IntegerProperty()
我确信没有其他实体具有完全相同的属性,因此到目前为止,为了创建我用户的唯一密钥:
render_key=hashlib.md5(str(properties.x_size) +
str(properties.y_size) +
str(properties.iterations) +
str(properties.center_axis_x) +
str(properties.center_axis_y) +
str(properties.center_axis_z)
).hexdigest()
hexdigest 让我让密钥 url 安全且用户友好,但我相信它也可能需要讨论。
那么问题来了。在上述情况或更改版本中,还有其他更好的方法可以达到相同的结果吗?它不需要向后兼容。因此,即使最终密钥与我的方法生成的密钥不同,这也不是问题。
谢谢