2014-06-13 1 views
0

내 프로젝트에서 API를 통해 이미지를 전송해야합니다. 전송하기 전에 원시 이미지 데이터를 base64으로 인코딩하므로 JSON 요청에서 사용할 수 있습니다. 파일의 체크섬을 요청에 추가하여 파일이 성공적으로 전송 된 경우 API 측에서 테스트 할 수 있습니다.base64 또는 원시 데이터에서 체크섬을 만드시겠습니까?

제 질문은 - 체크섬을 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와 첫번째 인코딩 데이터를 다음받은 base64로의 체크섬과 비교, MD5 체크섬 및 API 측을 계산? 그렇지 않으면 두 솔루션 모두 동일한 신뢰성을 갖습니다. 감사합니다

+1

왜 체크섬이 필요합니까? 이미 모든 종류의 체크섬이 내장 된 HTTP를 통한 TCP/IP를 사용하는 경우 네트워크 때문에 불량 데이터가 발생하지 않습니다. –

+1

항상 데이터 조작이 발생하기 전에 체크섬을 수행해야합니다. 이렇게하면 아무 것도 결과를 왜곡시킬 수 있습니다. –

+0

base64 이전의 체크섬 – a4arpan

답변

0

글쎄, 당신의 질문은 정말 REST 질문, 또는 PHP는 질문 ...

그런 다음 이러한 변환을 반전 한 후 전송하고 데이터를 변환 시작하려고한다면

은, 그것은 일반적으로 감각을 만들 것 아니다 바로 끝에 체크섬을 넣는다.

또한 HTTP가 보호/수정 기능을 제공한다는 점을 기억해야합니다. 체크섬에 신경 쓰지 말라고 말하고 싶습니다. 유스 케이스에 대한 설명에서 체크섬을 추가해야하는 것처럼 들리지는 않습니다.

관련 문제