Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

374
Visualizações
Eliminando '-' en linux md5sum

Cuando intento codificar la variable de contraseña en md5sum, aparece una cadena con la codificación md5sum y un guión al final. Y cuando trato de poner un guión después, no funciona. Entonces mi pregunta es: ¿Cómo puedo eliminar el guión en la salida md5sum de la terminal Linux? Aquí está mi código:

 #!/bin/bash read -p 'Password: ' passwordInput Password=$(echo -n "$passwordInput" | md5sum) if [ $Password = "0cbc6611f5540bd0809a388dc95a615b" ]; then clear echo "Password is good" else clear echo "Password is bad" fi exit 0;
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

#!/bin/bash read Test Password=$(echo -n "$Test" | md5sum | cut -d' ' -f1) echo "" if [ $Password = "d41d8cd98f00b204e9800998ecf8427e" ]; then clear echo "WhOop WHOop" else echo ":(" fi
over 4 years ago · Santiago Trujillo Relatório

0

Tienes tres problemas.

En primer lugar, su pregunta no es muy clara. Actualícelo para indicar claramente lo que está preguntando (cómo desea que se comporte su programa y cómo no lo hace). En este caso, no es demasiado difícil de averiguar a partir de su código, pero eso no siempre es cierto. Usted escribe

No obtengo el "-" del linux md5sum.

pero, de hecho, el problema es que obtienes el "-" (y probablemente también más).

(ACTUALIZACIÓN: Mejor ahora, gracias.)

En segundo lugar, la salida de md5sum incluye información adicional después de la suma de verificación mostrada, y debe eliminarla. (Sería bueno si md5sum tuviera una opción para imprimir solo la suma de verificación, pero no la tiene). Afortunadamente, es fácil eliminar la información adicional; es solo un carácter espacial y todo lo que le sigue.

Tercero, porque estás usando comillas simples:

 Password="$(echo -n '$Test' | md5sum)"

la cadena que está pasando a md5sum es literalmente '$Test' , no el valor de su variable.

Arreglando el segundo y tercer problema:

 #!/bin/bash read Test Password="$(echo -n "$Test" | md5sum | sed 's/ .*$//')" echo "" if [ "$Password" = "d41d8cd98f00b204e9800998ecf8427e" ]; then clear echo "WhOop WHOop" else echo ":(" fi

Normalmente criticaría su uso del comando clear , pero en este caso está borrando una contraseña que ingresó el usuario. Pero no está limpiando la pantalla si el usuario ingresa una contraseña incorrecta. El comando de read de Bash tiene una opción para suprimir el eco de la entrada, y este es el uso perfecto para ello. Así es como podría hacerlo:

 #!/bin/bash read -p "Password: " -s Test Password="$(echo -n "$Test" | md5sum | sed 's/ .*$//')" echo "" if [ "$Password" = "d41d8cd98f00b204e9800998ecf8427e" ]; then echo "WhOop WHOop" else echo ":(" fi

(Por cierto, la cadena vacía es una contraseña pésima, al igual que cualquier cosa cuya md5sum se pueda encontrar con una búsqueda rápida en Google, como " Test ").

over 4 years ago · Santiago Trujillo Relatório

0

El "-" en md5sum indica que está utilizando una entrada estándar para md5sum. Si estuviera utilizando md5sum para un archivo, se mostraría un nombre de archivo en ese lugar.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda