Я ищу алгоритм, который может генерировать короткий (fx 16 символов (не важно) хэш-код / дайджест из более длинной строки.
Основное требование состоит в том, что почти идентичные строки должны приводить к одному и тому же дайджесту.
Fx 2 почти идентичное письмо:
Привет, Мартин. Вот вам ... спам. С уважением, XYZ. => AAAA AAAA AAAA AAAA
Привет, Бо. Вот вам ... спам. С уважением, EFG. => AAAA AAAA AAAA AAAA
возвращает те же дайджесты (или почти такие же), где в качестве другой почты:
Hello Finn.Это тестовое письмо. = >CCCCCCCCCCCCcc
вернет другой дайджест.
Этот алгоритм будет частью спам-фильтра. Фильтр запоминает дайджесты писем, которые точно являются спамом. Если тот же дайджест появляется в сообщениях, в которых есть сомнения, идентичный дайджест приведет к тому, что фильтр увеличит оценку спама.
Я знаю о Левенштейне, но для этого мне нужно знать основы заранее. В этой ситуации у меня нет этой информации. Я мог бы получить эту информацию, но для этого потребовался бы фильтр для хранения всего спама и проверки каждого из них, что было бы очень медленным процессом.
Может быть, какой-нибудь алгоритм свободного сжатия в сочетании с вычислением расстояния Левенштейна между ними сработает.
Любые указатели приветствуются.