有没有办法验证在发送到Web服务期间是否未更改数据(使用HTTP连接)?

13K*_*3KZ 4 java hash android web-services

我正在开发一个Android项目,它将数据发送到我的Webservice并将它们存储在我的数据库中.我正在使用HTTP协议连接到我的webservice.使用JSON进行数据格式化.

我向webservice发送这些数据的数据和HASH(SHA256).

在将数据存储到数据库之前,我使用HASH验证我发送的内容(数据)是否等于Web服务收到的内容.如果没有,我发送一条错误消息.

有时,HASH的值是不同的,这会导致错误消息,并且数据库中不存储数据

所以我的问题是:是否有另一种方法来验证数据在发送操作期间是否未被更改?

Ola*_*che 13

哈希似乎适用于您的场景,因为您可以很好地检测数据修改.

但哈希值可以随数据一起更改,因此这不是针对恶意攻击者的安全措施.如果您担心安全性,可能会对WS-Security感兴趣.

实质上,您必须使用加密通道(HTTPS)或签署您的消息.