为API调用选择一个散列函数以确定何时更新



上下文:
在我们的应用程序设计中,对于某些常用的API,响应会很大(~3-5MB)。例如,API调用获取1000个用户的所有配置文件

此外,通常情况下,反应会保持相对不变。我们希望将前端存储(例如redux存储)中的信息保存为JSON对象,当FE调用BE来检索信息时,我们将传入一个计算出的校验和作为JSON对象的哈希值,比如使用MD5函数。BE也将使用MD5计算哈希值中的响应。只有当散列值不同时,BE才会返回响应。否则,它将返回类似HTTP.status.OK

的内容。我想知道对于这种类型的操作,最合适的哈希函数是什么,选择一个函数的标准是什么?从我搜索的内容来看,似乎没有全球性的答案。事实上,它应该很快,但我觉得与其他数据库操作相比,计算哈希值的时间是可以忽略的。此外,碰撞的可能性也可以忽略不计。

任何具有低碰撞概率的哈希函数都适用于此应用程序。您没有使用哈希来保护您的数据不受修改。

话虽如此,出于代码审查者和老板的原因,您应该避免MD5。它对安全性不再有好处,有些人不喜欢在任何新代码中使用它。

从性能、安全性和老板满意度来看,SHA2-224应该很好。

最新更新