Generador 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
- Visite la página web del Generador de Hash CRC-16 en su navegador.
- En el cuadro de entrada proporcionado, ingrese la cadena para la cual desea calcular el valor de la suma de comprobación.
- Haga clic en el botón Generar para calcular el valor de la suma de comprobación.
- El valor de la suma de comprobación calculada se mostrará en el cuadro de salida.
- 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.