Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
生成字符串的Adler32校验和,支持文本、Hex、Base64输入,用于数据完整性验证。
テキストを入力すると計算が開始されます
概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
入力欄に文字列を入れると、Adler-32の結果を大文字8桁の16進数で表示します。例ボタンの「Hello World」など、短いASCII文字列の値をすばやく確かめたいときに使えます。入力が空の間は結果を表示せず、文字を入力すると自動で再計算します。
Adler-32は、データの取り違えや偶発的な変化を見つけるためのチェックサムです。結果は32ビットで、上位16ビットに累積値B、下位16ビットに累積値Aを置きます。RFC 1950では、入力をバイト列として扱い、Aを1、Bを0から始め、各バイトで両方を65521を法として更新します。
A₀ = 1、B₀ = 0
Aᵢ = (Aᵢ₋₁ + xᵢ) mod 65521
Bᵢ = (Bᵢ₋₁ + Aᵢ) mod 65521
結果 = B × 65536 + A
ただし、このページはRFCのバイト列入力を受け付ける汎用計算機ではありません。内部では入力文字列の各UTF-16コード単位の数値を使って計算します。ASCIIの範囲では文字値と1バイト値が一致するため短いASCII例の照合に向きますが、日本語などの非ASCII文字は、UTF-8バイト列から計算する標準実装と同じ結果になるとは限りません。
RFC 1950はzlib形式と、そのデータ整合性確認に使うAdler-32の定義を記載しています。規格上の計算対象は文字そのものではなくバイトです。別のソフトウェアやプロトコルと値を比較する場合は、入力の文字コードと改行を揃えたうえで、そのソフトウェアが必要とするバイト列を確認してください。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
照合元と同じ文字列を入力します。先頭や末尾の空白、大小文字、句読点、改行も値に影響するため、見た目だけでなく文字列をそのまま揃えます。
入力後に「Adler-32 (Hex)」として大文字の16進数が表示されます。コピー操作で表示された値を取り出せます。例ボタンを押すと、例の文字列が入力欄に入ります。
もう一方の実装がバイト単位で計算する場合は、文字コードを合わせます。短いASCIIだけのテストなら照合しやすい一方、日本語や絵文字を含む文字列は同じ値になると仮定しないでください。
活用例
仕事や日常の流れの中での活用方法を紹介します。
開発や学習で短いASCII文字列の期待値を確認するとき、入力後の16進数をテスト記録と見比べます。文字列の大小文字や空白も含めて同一にします。
Adler-32を学ぶ際、短い入力を少しずつ変えて結果の変化を観察できます。規格準拠のバイト処理を実装する検証では、別途その実装の入力エンコーディングも確認します。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
入力単位が異なる可能性があります。このページは文字列のUTF-16コード単位を処理しますが、RFC 1950のAdler-32はバイトを処理します。相手側でUTF-8などに変換している場合、日本語では通常同じ計算対象になりません。
空の入力では画面は空状態を保ち、チェックサムを表示しません。RFCの初期値から導かれる空バイト列の値を、この画面で表示・コピーすることはできません。
できません。Adler-32はチェックサムであり、暗号学的なハッシュや電子署名の代わりにはなりません。悪意ある変更への対策や送信元の確認には、対象の形式・プロトコルが指定する安全な検証方法を使ってください。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
このページはテキスト専用で、ファイル、任意のバイト列、16進データ、Base64データを入力する機能はありません。内部の文字コード単位処理はRFC 1950のバイト単位定義と異なるため、短いASCII文字列以外で標準Adler-32値を保証しません。長い入力では32ビット値の表示に符号の問題が生じる場合もあり、規格値との比較用途には適しません。
結果は偶発的な差異を見つける補助として扱い、完全一致や内容の真正性の証明に使わないでください。重要な検証では、対象ソフトウェアが定める文字コード・バイト列・検証方式を優先してください。
関連
関連ツール、特集、利用可能なAPIを探せます。