Я не предлагаю новичку смотреть, как устроен бкрипт, его можно просто использовать. Но делать сразу надо надёжно, или не делать. Хранить соль, как я писал, я не хочу, но не настаиваю на том, что так нельзя. Проверка наличия ответа о(1), не думаю, что это критично где-либо.
Что же до ненужности современных алгоритиов хеширования, то тут я с вами не согласен, но спорить не буду. Ваше право использовать хоть дек.
Я рекомендую использовать bcrypt, он солит сам, соль не хранит, кост у него для того и сделан, чтобы не бояться таскать этот хеш хоть как. Потому как сравнение будет внутри бинарника.
Если вы храните соль, то, конечно, есть вариант сравнить в базе хеши,но мне так не подходит. Не хочу холиваров, но я потому и люблю bcrypt, что он прячет соль.
Строку можно описывать разными способам, да и экранирование в Го не запрещено:-)
И еще, две мысли:
1) компиляция re очень затратная штука, если набор небольшой, то проще сделать его в init и потом по ключм дергать
2) если тут меняется стока re, то правильнее использовать просто Complile, чтобы ловить проблемы.
На хабре была статья с введением. https://habr.com/post/421411/