System V sum
helloという語はチェックサム532、ブロック数1になり、Unixのsum -sの表示と一致します。BSD方式ではなく従来のSystem V方式の値を、古いスクリプトや資料、授業のために再現できます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- hello
- チェックサム
- 532
- ブロック
- 1
- バイト数
- 5
- アルゴリズム
- System V sum (sum -s)
System V sum は、クラシックな Unix の sum ユーティリティに -s スイッチを渡したときに表示される代替のファイルチェックサムアルゴリズムであり、多くの System V 派生系で使われ、GNU coreutils でも今なお利用できます。本機能はテキスト文字列を受け取り、UTF-8 として符号化し、sum -s がファイルのバイトに適用するのと同じ累積と折りたたみ手順を実行し、チェックサムとともにブロック数とバイト長を返します。空入力は意図的に受け付け、明確に報告します。
System V sum とは何か、BSD sum や現代のダイジェストとの違い
System V アルゴリズムは入力の各バイトを実行中の合計に累積し、その合計を十六ビットへ折りたたみます。上位半分を下位半分へ二回加算し、最初の折りたたみの桁あふれを二回目が吸収します。結果は零から六万五千五百三十五までの非負整数で、歴史的には十進のチェックサムとしてブロック数の横に印刷されてきました。
ブロックはデータベースの論理レコード長ではなく、切り上げた五百十二バイト単位です。五バイトの文字列でも一ブロック、空ファイルは零です。このプロファイルは GNU sum が sum -s で実装するものと同一で、古い Unix ホスト上で小さなファイルの二コピーを比較するシェルスクリプトが今もスクレイプする値です。
現代基準では意図的に弱く、衝突は容易で、SHA-256 や CRC-32、暗号メッセージ認証の代替にはなりません。役割は sum -s との相互運用、System V チェックサムを引用するアーカイブ文書、BSD の回転加算と System V の単純和を対比する教材との整合です。
System V方式のチェックサムが今も役立つ場面
プロトコル注記に System V 風の整合性確認を受け継いだ組み込み・産業チームは、すべてのビルドイメージに完全な coreutils を入れずに短いコマンド文字列を検証できます。
System V sum や sum -s チェックサムで検索上位を狙う教育者や文書サイトは、無料ブラウザ経路が自動化経路とバイト単位で一致するライブ計算機を得られ、学生が初めて /dev/null や空の touch ファイルで sum -s を走らせて戸惑う空ファイル境界ケースも含みます。
BSD 対 System V のアルゴリズムについて書く著者は、利用可能なら別の BSD 経路と本機能を組み合わせて両方の残差を並べて示せますが、いずれも暗号ハッシュだと主張はしません。検証失敗は残高を消費しません。
回帰スイートで hello を五百三十二と一ブロック、空を零と零ブロックに固定すれば、sum を呼ぶためだけに Unix ユーザ空間を立ち上げずに、スクリプト、LMS デモ、エッジワーカー向けの再現可能なレガシーチェックサムが得られます。
活用例
BSD と System V sum の教育
代替 sum アルゴリズムの文書の横に System V 残差とブロック数を示し、長さ零の場合は明確な空入力通知を添えて学習者に提示します。
よくある質問
sum -s と同じですか?
はい。 sum -s が使う System V 代替アルゴリズムを実装しています。バイト和、16 ビット折りたたみ二回、ceil(length/512) ブロックです。BSD 既定の sum ではありません。
System V sum は安全なハッシュですか?
いいえ。 sum -s との相互運用と教育向けのレガシー 16 ビットチェックサムです。衝突耐性が必要なときは SHA-256 などの暗号ダイジェストをご利用ください。
System V sumはどう計算しますか?
テキストの各バイトを合計に足していきます。その合計の上位半分を下位半分に足す操作を2回行って16ビットに収め、1回目のあふれを2回目で吸収します。結果は0から65535の範囲になります。
ブロック数は何を表していますか?
テキストが占める512バイト単位の数で、端数は切り上げます。helloのような5文字の語でも1ブロック、空のテキストは0ブロックでチェックサムも0になります。
アクセント付きの文字や絵文字はどう数えますか?
まずテキストをUTF-8のバイト列に変え、そのすべてのバイトを合計に加えます。そのため、複数バイトになる文字や絵文字は、合計に2つ以上の値を加えることになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/sysv-sum \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello"}'const res = await fetch("https://api.kit.forhosting.com/enc/sysv-sum", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/sysv-sum",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/sysv-sum", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/sysv-sum", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "hello"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.sysv_sum",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
暗号学的ハッシュとは異なり、十六ビットのコンパクトな残差と五百十二バイトブロックの個数を返し、短いペイロードの素早い整合性確認や、いまも sum の出力を解析するレガシースクリプト向けに設計されています。チェックサムは零、ブロックは零、明示的な空通知により、自動化が空白ペイロードを欠落フィールドと取り違えないようにします。
System V sum とは何か、BSD sum や現代のダイジェストとの違い
衝突耐性が必要なときではなく、その特定の残差が必要なときに本エンドポイントをご利用ください。空テキストでは残差は零、ブロック数は零となり、空ファイルに対する sum -s と一致し、empty_notice フィールドで人間が読める状態をクライアントが自作文言なしで表示できます。
入力契約、応答フィールド、空テキストと欠落テキストの違い
文字列は UTF-8 に符号化され、得られた各バイトが System V 累積器に入ります。マルチバイトの Unicode 文字は単一のコードポイントではなく、UTF-8 の各符号単位を寄与します。空文字列は有効な入力です。例:ASCII 五文字の hello は checksum 五百三十二、一ブロック、五バイトとなり、sum -s と一致します。アルゴリズムはバイト長に線形で、ネットワークもファイルシステムもなくメモリ内のみです。必須文字列フィールド text を含む JSON 本体を POST してください。同じペイロードに data、payload、value、input、content の別名キーを受け付けるため、生成器やフォームは既存のフィールド名を再利用できます。ハンドラは checksum 零、blocks 零、byte_count 零、empty true、および空入力を検出した旨の empty_notice 付きで成功を返します。text が完全に欠落している場合、null 値、または非文字列オブジェクトは invalid_input となり、欠落または無効なフィールドを名指しするメッセージを返します。これらの失敗は課金されず、空成功経路と混同してはいけません。成功時の本体には常に十六ビット残差の checksum、五百十二バイト単位の blocks、UTF-8 符号化の byte_count、真偽値 empty、固定ラベル System V sum (sum -s) の algorithm、block_size 五百十二が含まれます。任意の empty_notice は empty が true のときだけ現れ、任意フィールドは null にせず省略するという規則に従います。ブラウザ利用ではペイロードを控えめに保ってください。
System V sum チェックサム API が役立つ場面
実装は純粋な parse の tier A のため、成功した各呼び出しは公開の基本料金 $0.002 で、モデルトークンも外向きネットワークもありません。
連携の活用例
レガシーな sum -s 検証
短いテキストペイロードの System V チェックサムと 512 バイトブロック数を再計算し、移行・監査スクリプトで現代ツールが歴史的な sum -s 出力と一致するようにします。
空・短入力向け CI ゴールデン
空テキストで checksum 0 と blocks 0 を断言し、hello → 532 / 1 ブロックなどの既知ベクトルを固定し、リファクタがアルゴリズムを静かに変えないようにします。
技術的な質問
System V sum チェックサムはどう計算しますか?
JSON 文字列フィールド text(UTF-8)を送ってください。API は checksum(0–65535)、512 バイトの blocks、byte_count、empty、algorithm System V sum (sum -s) を返します。
空入力ではどうなりますか?
空文字列は有効です。checksum 0、blocks 0、byte_count 0、empty true、空入力を説明する empty_notice が得られます。text 欠落は invalid_input で課金されません。
System V sum チェックサムツールの料金は?
ブラウザツールは無料です。API は成功した呼び出しごとに前払い KIT 残高から $0.002 です。無効入力は課金されません。