我试图使用subdbapi编写一个Java字幕查找器的代码。因为我对python了解不多,所以我不明白他们是如何计算字符串的哈希值的。散列是由获取视频文件的第一个和最后一个64kb组成的,将所有这些放在一起并生成结果数据的md5。name是文件名。在
def get_hash(name):
readsize = 64 * 1024
with open(name, 'rb') as f:
size = os.path.getsize(name)
data = f.read(readsize)
f.seek(-readsize, os.SEEK_END)
data += f.read(readsize)
return hashlib.md5(data).hexdigest()
有谁能帮我用Java实现上面的代码吗?在
提示:
读取文件第一个和最后N个字节的代码可以很容易地实现,方法是使用
FileInputStream
,它的skip(long)
方法,并调用它的read(byte[], int, int)
方法两次。使用File.size()
获取文件大小。在Java中生成MD5校验和有很多问题;例如How can I generate an MD5 hash?
相关问题 更多 >
编程相关推荐