Работало, работает и работать будет!
Любой спам-фильтр - это фактически регулярка!
Если Вы когджа нибудь писали регулярки, то должны понимать что даже слово "мама" можно "представить пользователю" в десятках вариаций! А если слов (фраз) достаточно много, то и вариантов больше!
Вы считаете за "символы", только буквы и цифры?
А как же табуляция и пробелы?
А различная кодировка и перекодирование?
А различная длина строк и пробелы в конце них?
А разное количество строк и пустое пространство между ними?
А если речь заходит об HTML, то тут "вариаций" на 2 порядка больше ... если не на три порядка!
Одним словом - рандом убить и победить не возможно!
Ни в тексте ни в бинарниках (но это уже отдельная песня).
если бы я писал антиспам, я бы в первую очередь избавился от всего, что невидимо для человека(табуляции, html теги и т.д.), картинок(т.к. их сложнее анализировать), потом привел бы к удобной мне кодировке и только после этого уже анализировал:
если в тексте много слов, набранных в двух раскладках(русские+английс кие буквы в одном слове) -- скорей всего спам
если много "слов", в которых смешаны буквы и цифры(g64wrfgs64w) -- спам
сравнил бы с другими сообщениями, отмеченными как спам