vault backup: 2025-12-12 17:45:02
This commit is contained in:
@@ -77,4 +77,47 @@ done
|
||||
select opcion in Start Stop Exit; do
|
||||
echo "Elegiste la opcion $opcion"
|
||||
done
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
---
|
||||
## Contador de longitud
|
||||
```Shell
|
||||
validador() {
|
||||
local passwd=$1
|
||||
local long=${#passwd} # Para leer longitud de un dato, se usa ${#variable}
|
||||
if [[ "$long" -gt 8 ]]; then
|
||||
echo "PWD_GT_8"
|
||||
else
|
||||
echo "PWD_LT_8"
|
||||
fi
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
---
|
||||
### Verificación de mayúsculas, minúsculas, números y caracteres especiales
|
||||
|
||||
Se utiliza el comparador de valores regex (`=~`) en conjunto con los valores regex:
|
||||
|
||||
#### ¿Minúscula?
|
||||
```Shell
|
||||
[[ "Hola123" =~ [a-z] ]] # true
|
||||
```
|
||||
|
||||
##### ¿Mayúscula?
|
||||
```Shell
|
||||
[[ "Hola123" =~ [A-Z] ]] # true
|
||||
```
|
||||
|
||||
##### ¿Números?
|
||||
```Shell
|
||||
[[ "abc123def" =~ [0-9] ]] # true
|
||||
```
|
||||
|
||||
###### ¿Caracteres especiales?
|
||||
```Shell
|
||||
[[ "asd1!213das" =~ [^a-zA-Z0-9] ]] # true
|
||||
```
|
||||
|
||||
@@ -72,4 +72,15 @@ Bibliografía Web:
|
||||
|
||||
---
|
||||
|
||||
# Validador de contraseñas
|
||||
# 2. Validador de contraseñas
|
||||
Entrada: Una contraseña.
|
||||
Objetivo: Que detecte la longitud y cantidad de caracteres especiales y dará el diagnóstico `weak`, `mid` y `strong`.
|
||||
|
||||
```Shell
|
||||
#!/bin/bash
|
||||
# Funciones Puras
|
||||
```
|
||||
|
||||
Bibliografía Web:
|
||||
- [Conversión de mayúsculas a minúsculas](https://es.stackoverflow.com/questions/346567/cómo-convierto-un-texto-a-mayúsculas-o-minúsculas-en-bash-zsh-o-osx)
|
||||
-
|
||||
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
# Funciones Puras
|
||||
# En caso de muchos condicionales
|
||||
# Recurrir a negaciones
|
||||
longitud() {
|
||||
local passwd=$1
|
||||
local long=${#passwd}
|
||||
if [[ "$long" -gt 8 ]]; then
|
||||
echo "PWD_GT_8"
|
||||
else
|
||||
echo "PWD_LT_8"
|
||||
fi
|
||||
}
|
||||
minusculas() {
|
||||
local passwd=$1
|
||||
if [[ "$passwd" =~ [a-z] ]]; then
|
||||
echo "MINLETTERS"
|
||||
else
|
||||
echo "NO_MINLETTERS"
|
||||
fi
|
||||
}
|
||||
mayusculas () {
|
||||
local passwd=$1
|
||||
if [["$passwd" =~ [A-Z] ]]; then
|
||||
echo "MAYLETTERS"
|
||||
else
|
||||
echo "NO_MAYLETTERS"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
read -p "Introduce una contraseña: " a
|
||||
|
||||
resultado=$(longitud "$a")
|
||||
|
||||
echo "$resultado"
|
||||
Reference in New Issue
Block a user