2014-02-21 78 views
-1

我正在尝试使用SubDB API为Java中的字幕查找器编写代码。由于我不太了解python,我不明白他们在计算字符串的散列值时做了什么。散列是由视频文件的第一个和最后一个64kb组成的,整合在一起并生成结果数据的md5。名称是文件名。Java中的MD5实现

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中实现上述代码吗?

+2

[否](http://i1.kym-cdn.com/photos/images/newsfeed/000/232/114/e39.png),除非你写一些代码,面对一个具体问题。 – thefourtheye

+0

我无法理解代码。我想我已经提到过了。由于我对阅读文件不太熟悉,我认为这是一个需要的相关帮助。 –

+2

@thefourtheye那张照片让我害怕离开我的生活:P –

回答

1

任何人都可以帮助我在Java中实现上述代码吗?

提示:

  1. 代码读取文件的第一和最后N个字节可以很容易地使用FileInputStream,其skip(long)方法并调用其read(byte[], int, int)方法两次来实现。使用File.size()获取文件大小。

  2. 在Java中生成一个MD5校验和被覆盖了许多问题;例如How can I generate an MD5 hash?