Статья http://www.modernperlbooks.com/mt/2013/02/unicode-versus-passwords-versus-digests.html немного углубляется в детали. Большая проблема в том, что текст в Unicode может быть выражен несколькими эквивалентными представлениями (я не говорю о кодировании здесь). К сожалению, вам запрещено использовать простое и правильное решение для сопоставления текста, используя UTS # 10 §§3.5, 11, где различия не имеют значения; В соответствии с рекомендациями по обеспечению безопасности вы должны хранить не пароль, а только его дайджест, поэтому крайне важно выполнить этап нормализации перед хэшированием.
ИМО, это не обязательно плохая идея, просто трудоемкая.