在不同的机器上运行时,SHA256Managed Class会返回不同的结果吗?

ste*_*776 0 .net c# hash cryptography

我正在尝试使用API​​密钥构建一个身份验证机制来进行访问.

作为防止中继攻击的预防措施,我使用当前的DateTime对API密钥进行哈希处理并检查服务器端.

使用相同的代码在客户端和服务器上进行哈希,我从两个调用中得到不同的结果.

IE:客户端散列其API密钥并将散列密钥和日期时间"salt"发送到服务器.

服务器获取预期的api密钥并使用客户端发送的日期时间进行哈希处理.

我的哈希永远不会匹配(客户端哈希!=服务器哈希).

这只发生在我在单独的机器上运行客户端和服务器时(实际上另一个开发人员正在尝试编写客户端部分)

当我在本地计算机上测试时(运行客户端和服务器部分以及尝试身份验证),一切正常.

问题 给定相同的输入,.NET SHA256Managed类ComputeHash方法在不同的计算机上运行时会返回不同的结果吗?

vcs*_*nes 5

给定相同的输入,.NET SHA256Managed类ComputeHash方法在不同的计算机上运行时会返回不同的结果吗?

不可以.如果它确实比实施中断(不太可能),或者输入不同.