Я создаю защищенный алгоритм, чтобы избавиться от атак обфускации. Пользователь подтверждается токеном, который должен удовлетворять следующему условию:
- имя пользователя только строчными буквами и имя пользователя не менее 5 di git в длину.
- имя пользователя сопровождается # .
- После # важны первые два символа. Ди git и символ всегда. Эта часть содержит как минимум di git, строчную и прописную буквы.
- Между ними может быть любое количество цифр или букв.
- В последнем случае di git и символ должен точно соответствовать di git и символу точки-3.
- Он должен заканчиваться на #.
- Символы в середине двух # должны быть не менее 5 символов.
- Полный токен состоит только из двух #, строчных и прописных букв и цифр. И
Я не знаю о регулярных выражениях, но мой гид сказал мне, что эта задача легко достигается во время проверки с помощью регулярных выражений. После того, как я долго искал inte rnet и нашел несколько похожих ссылок, попытался их объединить и получил следующее:
^[a-z]{5,}#[a-zA-Z0-9]{2}[A-Z][0-9A-Za-z]*[a-zA-Z0-9]{2}#$
Но это соответствует только 1 тесту. Я не знаю, как мне получить среднюю часть двух хешей. Я попытался объяснить свою проблему на моем английском sh. Пожалуйста, помогите.
Ниже тестовые примеры должны пройти
userabcd#4a39A234a#
randomuser#4A39a234A#
abcduser#2Aa39232A#
abcdxyz#1q39A231q#
randzzs#1aB1a#
Следующие ниже тестовые примеры должны завершиться неудачно:
randuser#1aaa1a#
randuser#1112#
randuser#a1a1##
randuser#1aa#
u#4a39a234a#
userstre#1qqeqe123231q$
user#1239a23$a#
useabcd#4a39a234a#12