Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / CRC32: Verificación de Redundancia Cíclica

CRC32: Verificación de Redundancia Cíclica

Autor jc mouse martes, febrero 5, 2019

El CRCVerificación de Redundancia CíclicaComprobación de redundancia cíclica  es una técnica utilizada para detectar errores en datos digitales. El CRC es una función hash que detecta cambios accidentales en los datos de computadora sin procesar que se utilizan comúnmente en las redes de telecomunicaciones digitales y en los dispositivos de almacenamiento. Se basa en la división binaria y también se denomina Suma de Comprobación de Código Polinomial.

En la CRC una cantidad fija de bits de verificación (suma de verificación), se anexa al mensaje que necesita ser transmitido. Los receptores de datos reciben los datos e inspeccionan los bits de verificación en busca de errores. Matemáticamente, los receptores de datos verifican el valor de verificación adjunto al encontrar el resto de la división polinomial de los contenidos transmitidos. Si ha ocurrido un error significa que el mensaje ha sido alterado.

CRC Bolivia

Esta técnica fue inventada por el matemático y científico computacional estadounidense William Wesley Peterson en 1961 y desarrollada por el CCITT (Comité Consultatif International Telegraphique et Telephonique). El polinomio de 32 bits usado en funciones CRC de Ethernet (y otros estándares) fue publicado en 1975

Los polinomios generadores más comunes son:

CRC-12: X12 + X11 + X3 + X2 + X + 1
CRC-16: X16 + X15 + X2 + 1
CRC CCITT V41: X16 + X12 + X5 + 1(este código se utiliza en el procedimiento HDLC)
CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
CRC ARPA: X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1

En este ejemplo mostramos cómo calcular la suma de comprobación CRC32 de una matriz de bytes.

import java.util.zip.Checksum;
import java.util.zip.CRC32;
/** 
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {

    public static void main(String[] args) {

        String input = "JC Mouse Bolivia";
        byte[] data = input.getBytes();
        Checksum checksum = new CRC32();
        checksum.update(data, 0, data.length);
        long checksumValue = checksum.getValue();
        //Resultado
        System.out.println("CRC32 : " + checksumValue);
        String hex = Long.toHexString(checksumValue).toUpperCase();
        System.out.println("CRC32 HEX : " + hex);
    }

}

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Crea patrón de desbloqueo para tus app java

Crea patrón de desbloqueo para tus app java

El patrón de desbloqueo es una medida de seguridad que tienen algunos teléfonos inteligentes para evitar el acceso al di...

Insert, Update, Delete con Access y C#

Insert, Update, Delete con Access y C#

En un post anterior vimos la forma de conectarnos a una base de datos Access con C#, pero de nada nos sirve solo conecta...

Código de Control v7 en JavaScript

Código de Control v7 en JavaScript

En esta oportunidad, se deja a disposición de la comunidad de programadores de Bolivia y también porque no, del que quie...

Compartir texto plano con un ShareActionProvider en Android

Compartir texto plano con un ShareActionProvider en Android

Un Action Provider es un elemento que habita en la Action Bar para incrementar la accesibilidad de nuestras aplicaciones...

Buscar dispositivos con Java Media Framework

Buscar dispositivos con Java Media Framework

Java Media Framwork ademas de permitir reproducir archivos multimedia, tambien permite trabajar con dispositivos de capt...

Vibrate: ¿Cómo hacer vibrar un dispositivo Android?

Vibrate: ¿Cómo hacer vibrar un dispositivo Android?

En este post crearemos una app para utilizar el vibrador de nuestro dispositivo android usando para ello el IDE Android...

Comparte lo que sabes

Categorias

Últimas entradas

MyBatis es un framework de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados a part...

Webcam Capture es un API  que permite usar una cámara web incorporada o externa directamente desde código Java utilizand...

im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM...

En un post anterior conocimos una herramienta Open Source con un conjunto de herramientas para el trabajo con imágenes e...

Herramientas

Generador de Enlaces a Whatsapp