我有一个需要计算图像哈希值并将其上传到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);
}

10-04 22:29
查看更多