在我的项目中,我需要通过API传输图像。在传输之前,我使用base64
对原始图像数据进行编码,因此我可以在JSON请求中使用它。我想要做的是添加文件的校验和以便请求,这样我就可以在我的API端测试文件是否成功传输。
我的问题是 - 我应该在base64之前或之后计算校验和吗?
// Client
$checksum = md5($rawImageData);
$base64ImageData = base64_encode($rawImageData);
// API
$receivedBase64 = $_POST['base64ImageData'];
$receivedChecksum = $_POST['checksum'];
$imageData = base64_decode($receivedBase64);
$actualChecksum = md5($imageData);
if ($receivedChecksum != $actualChecksum) {
// Image not transfered correctly.
}
或者我应该首先用base64
编码数据,然后计算md5校验和,在API端,将它与接收到的base64的校验和进行比较?或者无关紧要,两种解决方案都具有相同的可靠性?感谢
答案 0 :(得分:0)
好吧,你的问题不是一个REST问题,或者是一个php问题......
如果你要开始将数据转换为然后发送然后反转这些转换,那么通常在最后的校验和是有意义的。
您还需要记住,HTTP将为您提供一些保护/纠正。我倾向于说不要打扰校验和。根据您的使用案例的描述,它听起来并不像您真的需要添加校验和。