我的公司经营一家网店。我们与合作伙伴合作,在客户购买后向他们提供折扣券(该优惠券可在其他在线商店使用),并将我们商店的优惠券提供给其他商店的客户。为此,合作伙伴要求我们在我们的付款完成页面上向他们发送一些关于我们的客户及其各自订单的数据。他们希望我们通过设置一些 javascript 变量并包含来自他们服务器的 javascript 来做到这一点,这也将在我们的付款完成页面上显示一个广告横幅。
我已经了解到,包括广告横幅在内是有一定风险的。看来我们公司已经决定为这个合作伙伴承担这个风险。
现在我担心一个特别的点。合作伙伴希望我们发送的数据还包括我们客户的会话 ID,以便按照合作伙伴的说明“识别双重请求”。我认为我们不应该将真实的会话 ID 发送给合作伙伴,因为有了这些信息,合作伙伴可以在我们的网站上伪造客户的身份。因此,我想发送会话 ID的哈希值。有了这个,合作伙伴应该仍然能够识别双重请求,而不能伪造客户的身份。
这有意义吗?或者合作伙伴是否因为我们从他们的服务器中包含了一个 javascript,已经有办法比他们知道会话 ID 可能造成的伤害更大?我们将会话 ID 存储在 HttpOnly cookie 中(用于我们的服务器和客户之间的连接)。
如果对会话 id 进行散列是有意义的,那么什么散列函数会是一个不错的选择?