В теории опасна тем, что можно поменять запрос, а соответственно выполнить то, за что этот запрос отвечает (ну, например, перевод денег).
Использовать keccak или sha-256 решать тебе, зависит от сферы применения. Можно использовать keccak, можно делать дополнительные операции по модификации хеша, для его обфускации, например взять тот же sha-хеш, добавить ко все числам 6 и перевести в hex (было 8, 8+6 = 14, в hex это E ), а затем поменять местами четные символы с нечетными (было a1b2c3, стало 1a2b3c), а затем добавить crc добавиви в конец первые два символа от md5(полученого хеша). Очень сомневаюсь, что при даже таких элементарных манипуляциях, злоумышленник имея обфусцированный хеш, сможет получить исходный вариант, допереть что это sha-256, а после еще и провести атаку удлинением сообщения.. Но, задачи и сферы применения бывают разные, поэтому вполне отдаю себе отчет, что не везде это применимо...