我有一个需要计算图像哈希值并将其上传到Web服务的要求。使用Cordova API捕获图像,并且该API返回该图像的URI。
我检查了CryptoJS,但它使用字符串作为输入。
var hash = CryptoJS.MD5("Message");
以任何方式我们可以计算图像的哈希值吗?
CryptoJS库:CryptoJS Home Page
只要可以从Cordova App使用它,任何其他库也可以。
最佳答案
使用Cordova API
可以获得Base64
编码的图像而不是URI。您可以使用CryptoJS
轻松进行哈希处理。
调用getPicture
API时,请使用DATA_URL
选项获取Base64编码的图像作为结果:
navigator.camera.getPicture(onSuccess, onFail, {
destinationType: Camera.DestinationType.DATA_URL });
这将在
onSuccess
方法中返回以base64编码的图像作为参数:function onSuccess(imageURI) {
var hash = CryptoJS.MD5(imageURI);
}