2014-02-21 62 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?