请求验证/数据完整性

问题描述:

我有一个问题,即我有一个服务,这需要请求(R),然后返回可选对象S1, S2, S3 ....)的一些List。客户应该选择其中一个对象(在请求中设置它)并进行购买呼叫(request = R + Si)。当进行购买电话时,我们需要验证客户选择的对象确实是我们给他的那个。 这是一个标准问题?什么可能是最优雅的方式来解决这个问题?请求验证/数据完整性

有些我想到的解决办法:

1)重新计算S1, S2, S3,然后验证。我们不想重新计算,因为它很贵。

2)给出对应于每个S1, S1, S3的令牌T1, T2, T3,然后对该令牌进行验证。一个计算令牌的方法:

=>有,你必须对存储和Schecksum(R)

您可以使用像在这里签署加密令牌(UUID)的数据库。 Django具有内置的功能,但我认为这个想法非常受欢迎,所以您可以在语言/环境中轻松实现它,甚至可以找到现有的库。

https://docs.djangoproject.com/en/1.10/topics/signing/