2014-02-21 3 views
-1

Я пытался написать код для поиска субтитров в Java, используя SubDB api. Поскольку я не очень хорошо знаю python, я не понимаю, что они делают, чтобы вычислить значение хеша для строки. Хэш состоит из первого и последнего 64kb видеофайла, объединяя все вместе и генерируя md5 полученных данных. имя - это имя файла.Реализация MD5 в Java

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, что pic испугало жизнь от меня: P –

ответ

1

Может ли кто-нибудь помочь мне с реализацией вышеуказанного кода на Java?

Подсказка:

  1. код на первый и последний N байты файла может быть легко реализована с использованием FileInputStream, его метода skip(long) и вызовом метода read(byte[], int, int) дважды. Используйте File.size(), чтобы получить размер файла.

  2. Генерация контрольной суммы MD5 в Java покрывается множеством вопросов; например How can I generate an MD5 hash?

Смежные вопросы