¿Una forma más sencilla de comparar la suma de comprobación md5?

Después de descargar un archivo que tiene una suma de verificación md5 disponible, actualmente lo verifico con

md5 *file* | grep *given_checksum* 

eg

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2 

pero me pareció gracioso requerir grep y la tubería para lo que seguramente es una tarea muy común. Como riguroso por hacer las cosas de manera eficiente, me preguntaba si hay una mejor manera de hacerlo.

Comentarios

  • ¿Qué tipo de herramienta es esa md5? ¿De qué paquete viene?
  • No ' no me di cuenta de que era diferente hasta que hice esta pregunta y comencé a buscar las respuestas, pero ' m usando bash en OS X y ' es la herramienta propia de Apple ' que no ' t tiene la opción -c. Aparentemente dejaron de empaquetar md5sum en 10.5 … Ahora ' he instalado la herramienta original de Unix md5sum.

Respuesta

md5sum tiene una opción -c para verificar un conjunto de sumas existente y su el estado de salida indica éxito / fracaso.

Ejemplo:

$ echo "ff9f75d4e7bda792fca1f30fc03a5303 package.deb" | md5sum -c - package.deb: OK 

Encuentre un buen recurso aquí

Comentarios

  • Gracias. Solo para completar, ahora uso md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext" ¡que parece más limpio que usar grep!
  • hmm, no hay mucha mejora con respecto al archivo original $ md5 | grep given_checksum y si desea utilizar una cadena que no distinga entre mayúsculas y minúsculas, debe seguir con grep -i
  • Estaba obteniendo no properly formatted MD5 checksum lines found cuando estaba usando md5sum -c <file.md5> <file> pero este comando funcionó para mí.

Responder

La forma habitual de bash sería:

shopt -s nocasematch if [[ $(md5sum "$file") = 5d40f31729c992b5a0e67490689fe8ff* ]] 

Responder

md5sum -c <filename>.zip.md5 <filename>.zip 

Esto te dirá Ok si son iguales.

Esto también funciona con tar.

Respuesta

Inspirado en la respuesta de psusi

echo "$(cut -f1 -d" " your_file.jar.md5) your_file.jar" | md5sum -c - 

Usé cut ya que no todos los md5 se almacenan de la misma manera. Ejemplo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *