CRC-16 Hash Generator

Gegevensinvoer
Voorbeeld
CRC-16 Hash Output

Handleiding voor de CRC-16 Hash Generator

Doel van de tool

De CRC-16 Hash Generator is een gratis online tool die checksumwaarden genereert voor elke gegeven invoerreeks. Het is ontworpen om een eenvoudige en efficiënte manier te bieden om een checksum te genereren met behulp van het CRC-16 algoritme.

Voordelen en voordelen

Het gebruik van de CRC-16 Hash Generator biedt verschillende voordelen en voordelen, zoals:

  • Het is online en gratis, zonder systeem- en softwareafhankelijkheden.
  • Kan wissen, kan kopiëren en heeft een voorbeeld voor gebruiksgemak.
  • De gegenereerde checksum is beveiligd en kan alleen lokaal worden berekend, waardoor de gegevensbeveiliging wordt gegarandeerd.

Hoe de tool te gebruiken

  1. Bezoek de CRC-16 Hash Generator webpagina in uw browser.
  2. Voer de te controleren reeks in in het invoerveld.
  3. Klik op de Genereren knop om de checksumwaarde te berekenen.
  4. De berekende checksumwaarde wordt weergegeven in het uitvoerveld.
  5. U kunt deze waarde kopiëren naar het klembord of de invoer- en uitvoervelden wissen door op de Wissen knop te klikken.

Implementatie in verschillende programmeertalen

Hieronder vindt u voorbeeldcodes en beschrijvingen over hoe u de CRC-16 Hash Generator kunt implementeren in Python, Java, JavaScript, Golang, Ruby en 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)) # Uitvoer: "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); // Uitvoer: "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

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

input_str = "Free Online Tools"
checksum = crc16(input_str).to_s(16).rjust(4, '0')
puts checksum # Uitvoer: "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; // Output: "2dd2"

Conclusie

De CRC-16 Hash Generator is een eenvoudige maar krachtige tool die u kan helpen bij het genereren van checksumwaarden voor uw invoerreeksen. Door gebruik te maken van deze tool kunt u ervoor zorgen dat uw gegevens veilig zijn en dat de berekende checksumwaarde alleen lokaal beschikbaar is. Met de meegeleverde implementatiecodes kunt u deze tool eenvoudig integreren in uw projecten en toepassingen.

Veelgestelde vragen (FAQ)

Maak kennis met onze andere hulpmiddelen