Как сгенерировать хеш Aho-Corasick - PullRequest
0 голосов
/ 09 апреля 2011

Я недавно начал разрабатывать антивирусное программное обеспечение с открытым исходным кодом, хотя хэши генерируются с помощью алгоритма Aho-Corasick.

Мне бы очень хотелось узнать, как генерировать хэши Aho-Corasick из исполняемых файлов, так какне нашел в интернете никакой информации относительно этого

1 Ответ

0 голосов
/ 09 апреля 2011

В Java:

private static String readFile(String path) throws IOException {
  FileInputStream stream = new FileInputStream(new File(path));
  try {
    FileChannel fc = stream.getChannel();
    MappedByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
    /* Instead of using default, pass in a decoder. */
    return Charset.defaultCharset().decode(bb).toString();
  }
  finally {
    stream.close();
  }
}

Затем вы можете использовать следующие для получения хеша MD5

byte[] bytesOfMessage = readFile("filepath").getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
String thedigest = Arrays.toString[md.digest(bytesOfMessage)];
...