Générateur de hachage CRC-16

Entrée de données
Exemple
Sortie de hachage CRC-16

Manuel du Générateur de hachage CRC-16

But de l'outil

Le Générateur de hachage CRC-16 est un outil en ligne gratuit qui génère des valeurs de somme de contrôle pour n'importe quelle chaîne d'entrée donnée. Il est conçu pour fournir un moyen simple et efficace de générer une somme de contrôle à l'aide de l'algorithme CRC-16.

Avantages et bénéfices

L'utilisation du Générateur de hachage CRC-16 présente plusieurs avantages et bénéfices tels que :

  • Il est en ligne et gratuit, sans dépendances système ni logiciel.
  • Possibilité de le vider, de le copier et d'avoir un exemple pour faciliter son utilisation.
  • La somme de contrôle générée est sécurisée et ne peut être calculée localement, garantissant ainsi la sécurité des données.

Comment utiliser l'outil

  1. Rendez-vous sur la page web du Générateur de hachage CRC-16 dans votre navigateur.
  2. Dans le champ d'entrée prévu à cet effet, saisissez la chaîne pour laquelle vous souhaitez calculer la valeur de la somme de contrôle.
  3. Cliquez sur le bouton Générer pour calculer la valeur de la somme de contrôle.
  4. La valeur de la somme de contrôle calculée s'affichera dans le champ de sortie.
  5. Vous pouvez copier cette valeur dans le presse-papiers ou vider les champs d'entrée et de sortie en cliquant sur le bouton Vider.

Implémentation dans différents langages de programmation

Voici des codes d'exemple et des descriptions sur la manière d'implémenter le Générateur de hachage CRC-16 en Python, Java, JavaScript, Golang, Ruby et 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)) # Sortie : "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); // Sortie : "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

# Cette fonction calcule le CRC16 d'une chaîne de caractères donnée en entrée.
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

# Exemple d'utilisation
input_str = "Free Online Tools"
checksum = crc16(input_str).to_s(16).rjust(4, '0')
puts checksum # Résultat : "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"

Conclusion

Le Générateur de hachage CRC-16 est un outil simple mais puissant qui peut vous aider à générer des valeurs de somme de contrôle pour vos chaînes de caractères d'entrée. En utilisant cet outil, vous pouvez vous assurer que vos données sont sécurisées et que la valeur de somme de contrôle calculée est uniquement disponible localement. Grâce aux codes d'implémentation fournis en exemple, vous pouvez facilement intégrer cet outil dans vos projets et applications.

Foire aux questions (FAQ)

Découvrez nos autres outils