Generador de hash CRC-16

Entrada de datos
Muestra
Salida de hash CRC-16

Manual del Generador de Hash CRC-16

Propósito de la Herramienta

El Generador de Hash CRC-16 es una herramienta en línea gratuita que genera valores de suma de comprobación para cualquier cadena de entrada dada. Está diseñado para proporcionar una forma simple y eficiente de generar una suma de comprobación utilizando el algoritmo CRC-16.

Beneficios y Ventajas

El uso del Generador de Hash CRC-16 ofrece varios beneficios y ventajas, tales como:

  • Es en línea y gratuito, sin dependencias de sistema y software.
  • Puede Limpiar, Copiar y Tener una Muestra para facilitar su uso.
  • La suma de comprobación generada es segura y solo se puede calcular localmente, garantizando la seguridad de los datos.

Cómo utilizar la herramienta

  1. Visite la página web del Generador de Hash CRC-16 en su navegador.
  2. En el cuadro de entrada proporcionado, ingrese la cadena para la cual desea calcular el valor de la suma de comprobación.
  3. Haga clic en el botón Generar para calcular el valor de la suma de comprobación.
  4. El valor de la suma de comprobación calculada se mostrará en el cuadro de salida.
  5. Puede copiar este valor al portapapeles o borrar las cajas de entrada y salida haciendo clic en el botón Limpiar.

Implementación en Varios Lenguajes de Programación

A continuación se muestran códigos de muestra y descripciones sobre cómo implementar el Generador de Hash CRC-16 en Python, Java, JavaScript, Golang, Ruby y PHP.

Python

import binascii

def crc16(data: bytes) -> int:
    crc = 0xFFFF
    for i in range(len(data)):
        crc ^= data[i] << 8
        for j in range(8):
            if crc & 0x8000:
                crc = (crc << 1) ^ 0x1021
            else:
                crc <<= 1
    return crc & 0xFFFF

input_str = "Free Online Tools"
input_bytes = input_str.encode('utf-8')
checksum = crc16(input_bytes)
print(hex(checksum)[2:].zfill(4)) # Salida: "2dd2"

Java

import java.util.zip.CRC32;

public class CRC16HashGenerator {
    public static void main(String[] args) {
        String inputStr = "Free Online Tools";
        byte[] inputBytes = inputStr.getBytes();
        CRC32 crc32 = new CRC32();
        crc32.update(inputBytes);
        System.out.println(Long.toHexString(crc32.getValue() & 0xFFFF));
    }
}

JavaScript

function crc16(str) {
  let crc = 0xffff;
  for (let i = 0; i < str.length; i++) {
    crc ^= str.charCodeAt(i) << 8;
    for (let j = 0; j < 8; j++) {
      if (crc & 0x8000) {
        crc = (crc << 1) ^ 0x1021;
      } else {
        crc <<= 1;
      }
    }
  }
  return (crc & 0xffff).toString(16).padStart(4, "0");
}

let inputStr = "Free Online Tools";
let checksum = crc16(inputStr);
console.log(checksum); // Salida: "2dd2"

Golang

package main

import (
    "hash/crc32"
    "fmt"
)

func main() {
    inputStr := "Free Online Tools"
    inputBytes := []byte(inputStr)
    crcTable := crc32.MakeTable(0x1021)
    checksum := crc32.Update(0xFFFF, crcTable, inputBytes)
    fmt.Printf("%04x\n", checksum)
}

Ruby

# Esta función calcula el valor CRC-16 de una cadena dada
def crc16(str)
  crc = 0xFFFF
  str.each_byte do |b|
    crc ^= b << 8
    for j in 0..7
      if (crc & 0x8000) != 0
        crc = ((crc << 1) ^ 0x1021)
      else
        crc = (crc << 1)
      end
    end
  end
  crc & 0xFFFF
end

# Cadena de entrada para calcular el checksum
input_str = "Free Online Tools"
checksum = crc16(input_str).to_s(16).rjust(4, '0')
puts checksum # Resultado: "2dd2"

PHP

function crc16($str) {
  $crc = 0xFFFF;
  for ($i = 0; $i < strlen($str); $i++) {
    $crc ^= ord($str[$i]) << 8;
    for ($j = 0; $j < 8; $j++) {
      if ($crc & 0x8000) {
        $crc = (($crc << 1) ^ 0x1021);
      } else {
        $crc = $crc << 1;
      }
    }
  }
  return str_pad(dechex($crc & 0xFFFF), 4, "0", STR_PAD_LEFT);
}

$input_str = "Free Online Tools";
$checksum = crc16($input_str);
echo $checksum; // Salida: "2dd2"

Conclusión

El Generador de Hash CRC-16 es una herramienta simple pero poderosa que puede ayudarte a generar valores de checksum para tus cadenas de entrada. Al utilizar esta herramienta, puedes asegurarte de que tus datos estén seguros y que el valor de checksum calculado solo esté disponible localmente. Con los códigos de implementación de muestra proporcionados, puedes integrar fácilmente esta herramienta en tus proyectos y aplicaciones.

Preguntas frecuentes (FAQ)

Conoce nuestras herramientas adicionales