CRC-32チェックサム計算
123456789の9文字はCRC-32でcbf43926になり、ZIPファイルやPNG画像と同じ確認方法なので、ほかの標準ツールの結果と比べられます。1文字変えるだけで16進数の値も変わります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- 123456789
- Crc32
- cbf43926
- CRC32 (整数)
- 3,421,780,262
- バイト
- 9
- アルゴリズム
- CRC-32/ISO-HDLC
CRC-32は、ZIPアーカイブやPNG画像、ネットワークフレームを検証するときに誰もが触れる巡回冗長検査です。固定多項式で計算する32ビットの剰余であり、わずかなビット反転でも16進ダイジェストが変わります。ASCIIの一二三四五六七八九に対して有名な検査値cbf43926を返すのと同じ経路です。8桁の小文字16進文字列、対応する符号なし整数、UTF-8バイト長、元文字列の長さがゼロのときのemptyフラグが得られます。計算にネットワーク呼び出し、乱数ソルト、壁時計は入りません。
CRC-32の意味と本ツールが使う多項式
巡回冗長検査はメッセージを二進多項式として扱い、固定の生成多項式で割って、元のビットの変化に非常に敏感な短い剰余を残します。CRC-32では剰余は32ビット幅で、通常は8桁の16進数字として示されます。
まさにそのパラメータ集合がZIPとPNGのCRCであり、リバースエンジニアリング表ではCRC-32スラッシュISO-HDLCまたはCRC-32スラッシュPKZIPとも呼ばれます。一部のストレージで使うCastagnoli CRC-32Cでも、MPEG-2の非反射変種でも、暗号学的ハッシュでもありません。
CRC-32は偶発的な破損に対する高速な完全性検査向けであり、意図的な偽造への耐性を目的としません。
活用例
教室とサポートのデモ
1文字の編集で16進CRCが変わる様子を、ローカルユーティリティや暗号ライブラリを入れずに学生と運用担当に示します。
よくある質問
このツールはどのCRC-32多項式を使いますか?
ZIP・PNG・ISO-HDLCのプロファイルで、123456789の検査値はcbf43926です。
CRC-32は暗号学的ハッシュですか?
いいえ。 CRC-32は偶発的な破損を素早く検出しますが、意図的な衝突や偽造への耐性は設計目的ではありません。暗号学的ダイジェストが必要ならSHA系ツールを使ってください。
空のテキストのCRC-32はいくつですか?
00000000です。このツールは空の入力も受け付け、結果に空であることも示すため、何も入力されていない状態を本当のチェックサムとすぐ見分けられます。
CRC-32Cと同じものですか?
違います。これはZIPやPNGと同じ方式で、CRC-32/ISO-HDLCやPKZIPとも呼ばれます。一部のストレージで使われるCastagnoliのCRC-32CやMPEG-2の方式は設定が異なり、別の値になります。
1文字変えただけでCRCが大きく変わるのはなぜですか?
多項式で割った余りは元のビットにとても敏感なため、わずかな変更や1ビットの反転でも別の8桁の値になります。そのため、偶然のデータ破損をよく見つけられます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/crc32 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/crc32", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456789"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/crc32",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456789"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/crc32", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456789"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456789"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/crc32", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "123456789"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.crc32",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
このCRC-32チェックサムツールはプレーンテキストを受け取り、UTF-8として直列化し、PKZIP・PNG・ISO-HDLCが使う標準IEEEプロファイルを実行します。
CRC-32の意味と本ツールが使う多項式
この機能は、ソフトウェアでしばしばゼロ-x-E-D-B-八-八-三-二-ゼロと書かれる反射IEEE多項式を実装し、初期値はすべて1、最終の排他的論理和もすべて1です。入力テキストはまずUTF-8に符号化されるため、アクセント付き文字や絵文字などのマルチバイト文字は実際の回線上のバイトを寄与し、多くのファイル形式やHTTPボディが文字列を扱う方法と一致します。よく知られた検証ベクトルは一から九までの9桁ASCIIペイロードで、16進のc-b-f-四-三-九-二-六を返さねばならず、空入力は8個のゼロを返さねばなりません。第三者ツールが同じUTF-8バイトでこのエンドポイントと不一致なら、ほとんどの場合は別の多項式、別のinitやxor-out、または同じ文字の別の符号化を使っています。
入力契約、応答フィールド、空入力の扱い
空文字列は意図的に許可されます。algorithmは常にラベルCRC-32スラッシュISO-HDLC、polynomialは常に文字列ゼロ-x-E-D-B-八-八-三-二-ゼロであり、OpenAPI例やサポート返信がプロファイルを曖昧さなく引用できます。他のCRC幅や多項式へのモード切替はありません。CRC-16、Adler-32、暗号学的ダイジェストが必要なら専用の機能を使い、各ランディングページが単一の検索意図に対応するようにしてください。チェックサムを取りたい文字列を必須フィールドtextに入れたJSON本体をPOSTしてください。古いフォームや短いクライアントでも結び付くよう、エイリアスinput、value、s、string、contentを受け付けます。有限数と大きな整数は文字列化され、オブジェクト、配列、真偽値、null、Infinity、NaNはinvalid_inputとなり課金されません。多くのCRCライブラリは長さゼロの剰余をゼロと文書化し、任意フィールドをハッシュするパイプラインは硬い失敗ではなく安定した答えを必要とするからです。元の長さがゼロのとき、応答はemptyをtrue、crc32を8桁のゼロ、crc32_intをゼロ、bytesをゼロにします。空でない入力ではemptyはfalse、bytesはUTF-8長(マルチバイト字形ではJavaScriptの文字長を超え得ます)、crc32はゼロ-x接頭辞のない小文字8桁16進剰余、crc32_intは数値を好む言語向けの符号なし32ビット整数としての同一値です。
CRC-32チェックサムAPIが役立つ場面
開発者は、ローカルユーティリティを入れずにZIP・PNGツールと一致するコンパクトな完全性タグが必要なとき、短い設定断片、プロトコル試料、ファイル名語幹をCRC-32チェックサム計算器に貼り付けます。サポート技術者はチケット文から剰余を再計算し、貼り付けたダンプが転送中に切れていないことを確認します。継続的インテグレーションのジョブは、古典的な一二三四五六七八九ベクトルと空入力フィクスチャを固定し、偶発的な多項式のずれがあればビルドを直ちに失敗させます。教育ラボは同じエンドポイントで1文字の変更が多くの16進桁を反転することを示し、暗号機構を持ち込むことなく誤り検出を説明します。実装は純粋なparseティアAのため、成功した呼び出しは公開の基本価格$0.002で、モデルトークンも外向きネットワークもなく、検証失敗は残高を消費しません。ペイロードを文書化された文字上限内に保ち、16進フィールドを正規の貼り付け先として扱えば、別のハッシュサービスを立てずに、ドキュメント、SDK、エッジワーカー、教室デモ向けにZIP互換の再現可能なCRC-32値が得られます。
連携の活用例
ZIP・PNG互換の完全性タグ
短いテキストのIEEE CRC-32を計算し、チケット、ファームウェアメモ、設定確認への貼り付け時にPKZIP・PNG・ISO-HDLCツールと剰余が一致するようにします。
CIゴールデンベクトルと空入力フィクスチャ
123456789 → cbf43926 と空 → 00000000 を固定し、多項式やUTF-8符号化のずれを継続的インテグレーションが即座に検知します。
技術的な質問
テキストのCRC-32チェックサムはどう計算しますか?
textに文字列を入れたJSONを送ってください。crc32フィールドはUTF-8バイト上のIEEE / ZIP / PNG剰余を小文字8桁16進で返し、crc32_intは同じ値の符号なし整数です。
空入力ではどうなりますか?
空テキストは有効です。応答はemptyをtrue、crc32を00000000、crc32_intを0、bytesを0にします。欠落または非文字列のtextはinvalid_inputです。
CRC-32チェックサムツールの料金は?
ブラウザウィジェットは無料です。API要求は成功1回あたり$0.002の前払いKIT残高を使い、無効入力は課金されません。