¿Hay programas de descarga de archivos que calculan sumas de comprobación durante el proceso de descarga?

1

Calcular sumas de comprobación para archivos grandes, es decir, de decenas a cientos de gigabytes es un proceso largo.

¿Hay programas de descarga de archivos que calculan sumas de comprobación durante el proceso de descarga? Creo que algunos servidores web tienen la capacidad de incluir información de suma de comprobación en los encabezados de respuesta, pero ¿puede el proceso de descarga verificar la información en sí, en lugar de esperar a que se complete la descarga?

aria tiene alguna capacidad parcial con algún tipo de archivos, pero ¿hay alguna con capacidad completa integrada?

    
pregunta vfclists 26.09.2016 - 14:01
fuente

2 respuestas

3

Ya se ha respondido una pregunta muy similar en Unix & Linux Stackexchange .

  

wget -O - http://example.com/file | tee file | md5sum > file.md5

Simplemente reemplaza md5sum con sha1sum y debería funcionar. Tenga en cuenta que la solución propuesta solo funciona con los sistemas operativos * nix; lograr que funcione dentro de Windows puede ser un desafío (pero el Bash Subsystem for Windows o Cygwin puede funcionar para usted ).

Editar:

Como me preguntaron en los comentarios cómo funciona esto, lo explicaré aquí:

wget -O - http://example.com/file descarga el archivo (en orden secuencial) y genera su contenido en la consola. La tubería | me permite reenviar estos datos al siguiente programa: tee file almacena la salida de wget en el archivo file y envía los datos al último programa de la cadena. md5sum > file.md5 calcula el hash md5 y lo almacena en file.md5 .

Rendimiento: ( YMMV !)

  • La descarga de un archivo grande (4 GB) desde un servidor local toma aproximadamente 80 segundos
  • El cálculo del hash del archivo (cuando se almacena localmente) toma 70 segundos
  • Hacer ambas cosas simultáneamente toma de nuevo 80 segundos, resultando en un aumento de velocidad de casi el 50% .
respondido por el Lukas 26.09.2016 - 16:34
fuente
3

Según entiendo su pregunta, el software debe verificar la descarga del archivo pieza por pieza y asegurarse de que cada pieza sea válida. Este método de verificación de descargas se implementa en protocolo de BitTorrent . Como se indica en la página de Wikipedia :

  

El archivo que se distribuye se divide en segmentos llamados piezas.
  ...
  Cada pieza está protegida por un hash criptográfico contenido en el descriptor de torrent.

Los torrents son públicos por defecto. Si desea una transferencia privada entre dos nodos, debe usar clientes privados de sincronización como Resilio Sync (anteriormente BitTorrent Sync) y Syncthing .

    
respondido por el Koorosh Pasokhi 26.09.2016 - 18:16
fuente

Lea otras preguntas en las etiquetas