CRC-16ハッシュジェネレーター

データ入力
サンプル
CRC-16ハッシュ出力

CRC-16 ハッシュ生成器マニュアル

ツールの目的

CRC-16 ハッシュ生成器は、任意の入力文字列に対してチェックサム値を生成する無料のオンラインツールです。CRC-16 アルゴリズムを使用してチェックサムを生成するための簡単かつ効率的な方法を提供するように設計されています。

利点とメリット

CRC-16 ハッシュ生成器の利点とメリットは以下の通りです:

  • オンラインで無料であり、システムやソフトウェアの依存関係はありません。
  • クリア、コピー、サンプルができるため使いやすいです。
  • 生成されたチェックサムは安全であり、ローカルでのみ計算されるためデータのセキュリティが確保されます。

ツールの使用方法

  1. ブラウザで CRC-16 ハッシュ生成器のウェブページにアクセスします。
  2. 提供された入力ボックスに、チェックサム値を計算したい文字列を入力します。
  3. チェックサム値を計算するために、Generate ボタンをクリックします。
  4. 計算されたチェックサム値が出力ボックスに表示されます。
  5. この値をクリップボードにコピーしたり、入力と出力のボックスをクリアするために Clear ボタンをクリックすることができます。

主なプログラミング言語での実装

以下は、Python、Java、JavaScript、Golang、Ruby、および PHP で CRC-16 ハッシュ生成器を実装する方法のサンプルコードと説明です。

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)) # Output: "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); // Output: "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 # Output: "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"

結論

CRC-16 ハッシュジェネレーターは、入力文字列のチェックサム値を生成するのに役立つシンプルでパワフルなツールです。このツールを使用することで、データのセキュリティが確保され、計算されたチェックサム値がローカルでのみ利用可能であることを保証できます。提供されたサンプル実装コードを使用することで、このツールを簡単にプロジェクトやアプリケーションに統合することができます。

よくある質問(FAQ)

他のツールについて知る