html5游戏md5,使用Html5 Javascript计算文件的MD5,sha1

孙佑运
2023-12-01

之前做ios开发,提审重签的时候,需要在平台填写一个ipa包的md5值,供服务器校验,每次我都是用py写脚本计算,略蛋疼,每次名字改了,还要去修改代码中的文件名。所以做成一个拖拽到网页上计算。

展示网站:http://www.atool.org/file_hash.php

注意,没有任何上传操作,所以文件大小几乎不限制(实际是文件小于3G内)

另外,欢迎大家下载我的游戏“表演达人”只有iOS版本。

1.[代码]python计算文件md5值

#coding=utf-8

from hashlib import md5

def md5_file(name):

m = md5()

a_file = open(name, 'rb') #需要使用二进制格式读取文件内容

m.update(a_file.read())

a_file.close()

return m.hexdigest()

print md5_file('mgapp.ipa')

2.[代码]Html计算文件md5值

hashFile.on("addedfile", function(file) {

var fileReader = new FileReader();

var blobSlice = File.prototype.mozSlice || File.prototype.webkitSlice || File.prototype.slice;

var chunkSize = 2097152;

var chunks = Math.ceil(file.size / chunkSize);

var currentChunk = 0;

var spark = new SparkMD5();

fileReader.onload = function(e) {

spark.appendBinary(e.target.result);

currentChunk++;

if (currentChunk < chunks) {

loadNext();

} else {

show_temp(file.name, file.size + ' bytes', spark.end(), file_sha1(e.target.result));

$(file.previewElement).removeClass('dz-progressing');

$(file.previewElement).addClass('dz-success dz-complete');

}

};

function loadNext() {

var start = currentChunk * chunkSize, end = start + chunkSize >= file.size ? file.size : start + chunkSize;

fileReader.readAsBinaryString(blobSlice.call(file, start, end));

$(file.previewElement).find('.dz-progress .dz-upload').css('width', end / file.size * 100 + '%');

}

$(file.previewElement).addClass('dz-progressing');

loadNext();

});

 类似资料: