2014-10-16 3 views
0

이미지의 해시를 계산하고 웹 서비스에 업로드해야하는 요구 사항이 있습니다. 이미지는 Cordova API를 사용하여 캡처되고 API는 해당 이미지의 URI를 반환합니다.CryptoJS를 사용하여 이미지의 MD5 또는 SHA를 계산하십시오.

CryptoJS를 검사했지만 문자열을 입력으로 사용하고 있습니다.

var hash = CryptoJS.MD5("Message"); 

아무 방법으로도 이미지의 해시를 계산할 수 있습니까?

CryptoJS 해방 : CryptoJS Home Page

다른 라이브러리로는, 코르도바 응용 프로그램에서 사용할 수 있습니다로도 괜찮습니다.

답변

1

Cordova API을 사용하면 URI 대신 Base64 인코딩 된 이미지를 얻을 수 있습니다. CryptoJS을 사용하면 쉽게 해싱 할 수 있습니다.

getPicture API가 결과로 Base64로 인코딩 된 이미지를 얻을 수있는 DATA_URL 옵션을 사용하여 전화 :

navigator.camera.getPicture(onSuccess, onFail, { 
    destinationType: Camera.DestinationType.DATA_URL }); 

이것은 PARAM로 onSuccess 방법으로 64 기수에게 인코딩 된 이미지를 반환합니다

function onSuccess(imageURI) { 
    var hash = CryptoJS.MD5(imageURI); 
} 
+0

Yaa 아마존 S3에 업로드 할 때 base64 대신 URI가 필요하다는 것을 알고 있습니다. 나는 destinationType : Camera.DestinationType.FILE_URI –

+0

을 사용하고 있습니다.이 경우'FILE_URI'를 사용하면 cordova'FILE' 플러그인이 필요하며 URI를 사용하여 파일을 읽고 내용을 해쉬합니다. – benka

+0

그래, 그게 내가 생각했던거야. 다른 방법으로 검색했다. 더 많은 플러그인을 사용하면 Cordova가 만드는 두통이 더 많이 발생합니다. P –