Adler-32チェックサム計算
zlibで使われる2つの合計によるAdler-32チェックサムを、どんなテキストからでも求めます。Wikipediaなら11e60398で、Aは920、Bは4582です。圧縮データや課題をRFC 1950と照らし合わせるのに便利で、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Wikipedia
- 結果
- 11e60398
- Adler32チェックサム
- 11e60398
- Hex
- 11e60398
- 10進数
- 300,286,872
Adler-32はMark Adlerが設計した三十二ビットのチェックサムで、zlibおよびDEFLATE系フォーマットの内部で使われます。巡回冗長検査とは異なり、メッセージの各バイトに対する二つの走行和を保ち、通常のCPUで高速に計算できる符号なし整数へ結合します。初期Aは一、初期Bは零、ともに六万五千五百二十一を法として還元し、Bを十六ビット左シフトしてAと結合します。本Adler-32チェックサムツールは空でないテキストを受け取り、UTF-8として符号化し、その決定的ループを実行して、三十二ビット値全体を八桁の小文字十六進とともに十進整数、AとBの部分和、短い要約として返します。
Adler-32が計算するものとhex語が重要な理由
Adler-32はすべてのメッセージをバイト列として扱い、二つのアキュムレータを更新します。第一のアキュムレータAは一から始まり、各バイトを加算し、各ステップの後に六万五千五百二十一を法として還元します。第二のアキュムレータBは零から始まり、各バイトの後に現在のAの値を加算し、再び同じ素数を法とします。
ストリームが終わると、三十二ビット符号なし整数の上位十六ビットにB、下位十六ビットにAを置いてチェックサムを形成します。この構成はRFC 1950の定義およびzlibの実装そのものであり、よく知られた検査文字列Wikipediaは十六進の十一 e 六 零 三 九 八を生成します。
八桁の小文字hexを返すことで、エンディアン接頭辞や大文字小文字の議論なしに、プロトコルダンプ、継続的インテグレーション用フィクスチャ、DEFLATEデバッグメモへ貼り付けやすくなります。
応答は十進整数、分離されたAとB、アルゴリズムラベルAdler-32、UTF-8バイト数、元テキストもエコーするため、クライアントはメタデータを再導出せずに完全な監査行を表示できます。Adler-32は衝突耐性がなく鍵付きでもないため、真正性の証明ではなく、高速な完全性またはフレーミング検査として扱ってください。
検索意図がzlib風のローリングチェックサムではなく暗号学的ハッシュである場合は、SHA系ダイジェストを優先してください。
Adler-32チェックサムが役立つ場面
圧縮の著者やzlibの学習者は、言語ごとにモジュラー和ループを書かずに、手計算のAとBの部分和をRFC 1950の定義と照合するためにAdler-32チェックサム計算機を使います。教育プラットフォームやLMSプラグインには、空メッセージに対して一を返す代わりに空入力を拒否する決定的オラクルが必要であり、自動採点は欠落回答と実チェックサムを区別できます。
Adler-32 checksumやAdler32計算機で順位付けするコンテンツサイトは、無料経路が同じ純モジュール上で有料自動化とバイト一致するライブツールから恩恵を受けます。検証失敗は拒否後に残高を消費しません。本ツールは短い文字列とプロトコル断片向けであり、数メガバイトのバイナリ塊向けではありません。
検索意図がzlib風の二和検査を超える場合にのみCRC-32や暗号ハッシュのランディングと組み合わせ、本ページはAdler-32に集中させてSEO意図を鮮明に保ち、CRC-8やSHA-256のランディングを食い合わないようにしてください。
活用例
教室でのモジュラー和デモ
教員が古典的なWikipedia検査値を示し、学生は圧縮ライブラリを入れずに他の短い文字列を再計算できます。
完全性ヘルパー向けCIフィクスチャ
パイプラインは決定的なAdler-32 hex出力と空入力エラーを固定し、モジュラスや初期化の誤変更を即座に失敗させます。
よくある質問
本ツールはどのAdler-32パラメータを使いますか?
標準のzlibプロファイルです。法は65521、Aは1、Bは0から始まり、チェックサムは(Bを16ビット左シフト)またはAです。ASCIIのWikipediaに対する文書化された検査値は11e60398です。
テキストが空の場合はどうなりますか?
空でない文字列が必須であり、空入力は00000001の成功チェックサムとしては扱われません。
Adler-32は暗号学的ハッシュですか?
いいえ。 Adler-32はzlibが使う高速な三十二ビット完全性検査です。衝突耐性や認証が必要な場合はSHA-256などを使ってください。
日本語の文字や絵文字が入るとチェックサムはどうなりますか?
合計を取る前にテキストをUTF-8のバイト列に変換します。日本語の文字や絵文字は1文字が複数のバイトになり、そのすべてのバイトが数えられるので、圧縮ソフトが同じ文字列を受け取ったときと同じ結果になります。
AとBの値は何を表しますか?
計算の途中で使う2つの合計です。Aは1から始めて各バイトを足し、Bは0から始めて各バイトのあとにAの値を足します。最後にBを上位半分、Aを下位半分に置いて1つの値にします。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/adler32 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Wikipedia"}'const res = await fetch("https://api.kit.forhosting.com/enc/adler32", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Wikipedia"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/adler32",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Wikipedia"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/adler32", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Wikipedia"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Wikipedia"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/adler32", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Wikipedia"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.adler32",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
圧縮ペイロードを検証する技術者、RFC 1950を学ぶ学生、機器ログのトレーラーを照合するサポート担当は、短い文字列について教科書どおりの結果をしばしば必要とします。空入力はinvalid_inputで拒否されるため、呼び出し側が欠落フィールドを、値が一である空メッセージの既知チェックサムと取り違えることはありません。無料のブラウザ経路と前払いAPIは同一の純モジュールを共有するため、授業用フィクスチャと本番パイプラインは同じ文字列に対して常に同じhex語で一致します。
入力契約、空文字列エラー、JSON応答の形
チェックサムしたい空でない文字の並びです。文字列はAdlerループの前にUTF-8へ符号化されるため、複数バイト文字は同じUTF-8ストリームを受け取る圧縮器と同じく、すべてのコード単位バイトを寄与します。別のフィクスチャHelloは、テストに固定できる安定した決定的hex語を返します。空入力は理論上の空メッセージ値零零零零零零零一を返す代わりに意図的に拒否されるため、製品UXと自動採点は欠落回答と実チェックサムを区別できます。モジュラスや初期化の誤変更が気づかれずに出荷されないよう、成功経路と空入力エラーの両方を継続的インテグレーションに固定してください。必須の文字列フィールドtextを一つ持つJSON本体を送信してください。同じフィールドに対しinput、value、s、data、message、payloadの別名も受け付けるため、SDKスタブやフォーム投稿の柔軟性が保たれます。textの欠落、文字列以外の値、空文字列はいずれもinvalid_inputで失敗し、空でない文字列が必要である旨が明示されます。これらの失敗は前払いAPIでは課金されません。成功時の本体には、同じ八桁小文字十六進チェックサムのresult・adler32・hex、符号なし三十二ビット整数のdecimal、最終的な下位・上位十六ビット部分和のaとb、常にAdler-32のalgorithm、UTF-8長のinput_bytes、入力をエコーするtext、バイト数とhex結果を要約するmessageが含まれます。古典的フィクスチャでは、textがWikipediaのときadler32は十一 e 六 零 三 九 八、input_bytesは九です。任意のnullフィールドはnullとして出さず省略し、クリーンなWebフォーム向けの宣言的レンダラ契約に従います。
Adler-32チェックサムAPIが役立つ場面と料金の仕組み
単発の確認にはブラウザの無料ツールを使い、残高下で安定した契約が必要なバックエンド、サーバーレス関数、SDKからは前払いKIT APIを$0.002の成功アイテム単位で呼び出してください。ペイロードはWorker isolateのitem呼び出しに適した通常のテキストサイズに保ってください。
連携の活用例
zlibおよびDEFLATEトレーラー検査
圧縮ストリームのログや単体テストベクトルを比較する前に、ペイロード文字列がRFC 1950に基づく期待のAdler-32トレーラーを生成するか確認します。
技術的な質問
テキストのAdler-32チェックサムはどのように計算しますか?
空でない文字列フィールドtextを含むJSONを送ってください。APIは文字列をUTF-8符号化し、zlibとRFC 1950に定義されたAdler-32を実行し、三十二ビット値を八桁の小文字hexとしてresult・adler32・hexに返します。
Adler-32チェックサム計算機は無料ですか?
ブラウザツールはお使いの端末上で無料です。API呼び出しは前払いKIT残高を成功アイテムごとに$0.002で使用し、検証失敗は課金されません。