Sumas de comprobación de Amazon S3 con AWS SDK for Java - AWS SDK for PHP

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Sumas de comprobación de Amazon S3 con AWS SDK for Java

Amazon Simple Storage Service (Amazon S3) permite especificar una suma de comprobación al cargar un objeto. Cuando se especifica una suma de comprobación, esta se almacena con el objeto y se puede validar cuando se descarga el objeto.

Las sumas de comprobación proporcionan un nivel adicional de integridad de los datos al transferir archivos. Con las sumas de comprobación, puede comprobar la coherencia de datos verificando que el archivo recibido coincide con el archivo original. Para obtener más información acerca de las sumas de comprobación con Amazon S3, consulte la guía del usuario de Amazon Simple Storage Service.

Amazon S3 admite actualmente cuatro algoritmos de suma de comprobación: SHA-1, SHA-256, CRC-32 y CRC-32C. Puede elegir el algoritmo que mejor se adapte a sus necesidades y dejar que el SDK calcule la suma de comprobación. También puede especificar un valor de suma de comprobación calculado previamente mediante uno de los cuatro algoritmos compatibles.

Analizaremos las sumas de comprobación en dos fases de solicitud: carga del objeto y descarga del objeto.

Cargar un objeto

Los valores válidos del algoritmo son CRC32, CRC32C, SHA1 y SHA256.

El siguiente fragmento de código muestra una solicitud para cargar un objeto con una suma de comprobación de CRC-32. Cuando el SDK envía la solicitud, calcula la suma de comprobación de CRC-32 y carga el objeto. Amazon S3 almacena la suma de comprobación en el objeto.

Si la suma de comprobación que calcula el SDK no coincide con la suma de comprobación que calcula Amazon S3 al recibir la solicitud, se devuelve un error.

Utilizar un valor de suma de comprobación calculado previamente

Un valor de suma de comprobación precalculado proporcionado con la solicitud desactiva el cálculo automático por parte del SDK y utiliza el valor proporcionado en su lugar.

En el siguiente ejemplo se muestra una solicitud con una suma de comprobación SHA-256 precalculada.

Si Amazon S3 determina que el valor de la suma de comprobación es incorrecto para el algoritmo especificado, el servicio devuelve una respuesta de error.

Cargas multiparte

También puede utilizar sumas de comprobación en las cargas multiparte.

Descargar un objeto

Cuando se utiliza el método getObject para descargar un objeto, el SDK valida automáticamente la suma de comprobación

La solicitud del siguiente fragmento indica al SDK que valide la suma de comprobación de la respuesta calculándola y comparando los valores.

Si el objeto no se cargó con una suma de comprobación, no se realizará ninguna validación.

Un objeto de Amazon S3 puede tener varias sumas de comprobación, pero solo se valida una de ellas al descargarse. La siguiente prioridad, basada en la eficacia del algoritmo de suma de comprobación, determina qué suma de comprobación valida el SDK:

  1. CRC-32C

  2. CRC-32

  3. SHA-1

  4. SHA-256

Por ejemplo, si una respuesta contiene las sumas de comprobación CRC-32 y SHA-256, solo se valida la de CRC-32.