相关疑难解决方法(0)

计算Blob的MD5哈希值

如何计算Blob的MD5哈希并检查另一个哈希以查看它们是否已更改?

编辑:我目前正在使用CryptoJS

javascript

7
推荐指数
2
解决办法
3812
查看次数

如何使用CryptoJS获取BLOB的正确SHA1哈希?

CryptoJS v3.1.2,sha1.js汇总

在JS中,我想在将blob发送到服务器之前计算它的SHA1.在服务器上,我想计算结果文件的SHA1,并将其与从JS收到的SHA1进行比较.问题是CryptoJS.SHA1()生成的哈希是不正确的(总是9844f81e1408f6ecb932137d33bed7cfdcf518a3)

JS代码:

function uploadFileslice (slice) { // slice is a blob
    var fileReader = new FileReader()
    fileReader.onload = function(event){
        var arrayBuffer = event.target.result
        var wordArray = CryptoJS.lib.WordArray.create(arrayBuffer)
        var sha1crc = CryptoJS.SHA1(wordArray).toString(CryptoJS.enc.Hex)
        //etc
        requestParams.append('fileslice', slice)
        requestParams.append('sha1crc', sha1crc)
        //etc
    }
    fileReader.readAsArrayBuffer(slice)
}
Run Code Online (Sandbox Code Playgroud)

PHP代码:

$file_crc = sha1_file($_FILES['fileslice']['tmp_name']);
if ($_REQUEST['sha1crc'] !== $file_crc) {
    echo "Invalid CRC: {$_REQUEST['sha1crc']} (expected $file_crc)";
    return;
}
Run Code Online (Sandbox Code Playgroud)

输出:

CRC无效:9844f81e1408f6ecb932137d33bed7cfdcf518a3(预计3ebe2cd2d8fd8d8f977b6d715f0b1adf5b08b407

我希望像myHash = CryptoJS.SHA1(blob)...

sha1 blob cryptojs

6
推荐指数
1
解决办法
6170
查看次数

标签 统计

blob ×1

cryptojs ×1

javascript ×1

sha1 ×1