之前做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();
});