Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / CRC32: Verificación de Redundancia Cíclica

CRC32: Verificación de Redundancia Cíclica

Por 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

Artículos similares

Servicio Web SOAP en Java

En este post vamos a construir un Servicio Web bajo el protocolo SOAP (Simple Object Access Protocol) el cual básicament[...]

Libreria swing BlackTabbedPane

Continuación del tutorial [Personalizar JTabbedPane con Netbeans]. La clase BlackTabbedPaneUI que extendemos de BasicTab[...]

JLabel: Escalar imagen

El componente swing JLabel nos permite cargar una imagen con la propiedad setIcon, sin embargo la imagen no toma el tama[...]

Instalador java con WinRar

En este videoTutorial veremos la forma mas sencilla de crear un instalador para programas hechos en Java utilizando el p[...]

Determinante de una matriz NxN en javascript

Notación matemática formada por una tabla cuadrada de números, u otros elementos, entre dos líneas verticales; el valor[...]

Botones circulares de Google Plus en java

Continuación del tutorial «Google Circles en java» o.O 🙂 La Interfaz El proyecto consta de una sola interfaz la cual es[...]