Essa API tem por objetivo validar uma senha baseada em regras de caracteres.
Segue abaixo as regras de uma senha válida:
- Nove ou mais caracteres
- Ao menos 1 dígito
- Ao menos 1 letra minúscula
- Ao menos 1 letra maiúscula
- Ao menos 1 caractere especial
- Considere como especial os seguintes caracteres: !@#$%^&*()-+
- Não possuir caracteres repetidos dentro do conjunto
Exemplos:
IsValid("") // false
IsValid("aa") // false
IsValid("ab") // false
IsValid("AAAbbbCc") // false
IsValid("AbTp9!foo") // false
IsValid("AbTp9!foA") // false
IsValid("AbTp9 fok") // false
IsValid("AbTp9!fok") // true-
É necessário ter instalado o Java na versão 11 Java SE Development Kit 11 Downloads. Ao entrar no link, é necessário escolher o Sistema Operacional que será instalado para a execussão.
-
É necessário ter instalado o Maven (de preferência na versão mais recente). Maven
Clonar o projeto:
git clone https://github.com/edkiriyama/validation-password.gitEntrar no diretório do projeto:
cd validation-passwordExecutar o JAR do Projeto:
./mvnw spring-boot:runPara testar, execute o código a baixo.
curl --location --request GET 'http://localhost:8080/validate-password' \
--header 'Content-Type: application/json' \
--data-raw '{
"password": "Degard1234!"
}'- Foi utilizado a linguagem de programação Java.
- Para criação da API Web foi utilizado o SPRING Boot como Framework padrão MVC que facilita a criação da API.
- Para os teste unitários, foi utilizado o JUnit, pois estes frameworks são os mais utilizados para execução dos testes nesta linguagem.
- A solução foi baseada em um serviço de Validação de Senha, porém todos as validações foram realizadas em expressão regular para especificar um padrão de validação, fazendo com que o método tivesse somente 1 objetivo.