MEIDチェックディジット
MEIDの本体6C4BFFC0000004のチェック桁は4で、十五文字の6C4BFFC00000044になります。標準のLuhnの規則を、0から9とAからFの十六進数に当てはめて計算します。MEID全体の検証もでき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- MEID (端末識別番号)
- 6C4BFFC0000004
- 計算モード
- Compute
- 入力
- 6C4BFFC0000004
- チェックディジット
- 4
- MEID (端末識別番号)
- 6C4BFFC00000044
CDMAおよびマルチモード端末は、無線部をMobile Equipment Identifier(MEID)で識別します。製造者とシリアル欄を符号化する14桁の16進数に加え、1文字の打ち間違いや転置が別機器に見えて通るより失敗しやすくなるよう計算された、任意の15桁目チェック文字があります。本機能は16進アルファベット0-9A-F上の標準Luhn mod-16式でそのチェックディジットを計算するか、完全な15桁16進MEIDを検証し、保存された末尾文字が再計算値と一致するかを報告します。どちらの経路も同じ純粋算術を用い、ネットワーク往復も識別子の保存もありません。
MEIDチェックディジットの計算方法
MEID本体は常に14桁の16進数です。任意のチェック文字は同じアルファベット0-9A-Fから1記号で、Nを16としたLuhn mod-Nアルゴリズムで生成されます。各積は基数16の桁和 floor(product/16) に product を16で割った余りを加えた値に還元され、その後すべての還元値が合計されます。
チェックのコードポイントは16からその和の16剰余を引いた値を再び16剰余したもので、和がすでに16で割り切れる場合はチェック文字ゼロになります。その1文字の16進を付けると、在庫ラベル・プロビジョニングフィード・監査CSVで使う15記号の文字列になります。検証は逆操作で、先頭14記号から期待文字を再計算し、15桁目と比較します。
アルゴリズムは固定アルファベットの純粋整数演算のため、同一MEIDはブラウザ・Worker・オフラインテストハーネスのいずれでも同じチェックディジットを返し、そのため本機能はモデル呼び出しではなくtier-Aのparseエンジンとして提供されます。*ツールの10進Luhn・Damm・EAN・mod-97と区別できるようにします。
合格するチェックディジットは算術的な整形式のみを証明し、GSMA割当・通信事業者ホワイトリスト・端末が紛失届されていないことは証明しません。
実機ワークフローにおけるMEIDチェックディジットの位置づけ
端末メーカーとODMは製造者コード下でシリアル欄を割り当て、通信事業者や企業の受入システムが初回スキャンで識別子を受け入れるよう、レーザー刻印や包装ラベルの前に正しいチェック文字を付ける必要があります。通信事業者とMVNOは15桁16進MEIDのパートナーCSVを取り込み、チェックディジットが一致しなくなった行を拒否すべきです。
これにより人手編集と上流生成器のオフバイワンの両方を捕捉できます。企業向けMDMとRMA窓口では技術者がMEIDを入力またはスキャンし、フォーカス喪失時に検証し、validがtrueになるまで保証登録を止め、失敗チケットを減らせます。
14桁MEID本体から資産タグを組む印刷所は、単位ごとにcomputeを1回呼び、バーコード図の下に15文字の文字列を置きます。どのワークフローでも契約は同じです。合格するチェックディジットを所有権・網認証・野外での一意性の証拠とみなさないでください。
Luhn mod 16下で15記号が算術的に整形式であることだけを示し、他の機器チェックサムと同じ誠実さの基準です。
活用例
印刷・刻印用に14桁MEIDを完成させる
製造者とシリアル欄(14桁16進)を取り、mode computeを呼び、資産バーコード下にmeidを印刷またはレーザー刻印して、ラベルにLuhn有効な15文字識別子を載せます。
パートナー端末識別子列を監査する
通信事業者またはODMのCSVエクスポート内の全MEIDを一括検証し、チェックディジットが再計算の期待値と一致しない行を隔離します。
よくある質問
MEIDチェックディジットとは何ですか?
Mobile Equipment Identifierの任意の15桁目の16進文字で、先頭14桁の16進からLuhn mod 16で計算され、1文字の打ち間違いが別機器に見えて通るより失敗しやすくします。
非16進文字・空白・誤った長さの場合は?
スペース・ハイフン・コロン・ドットは貼り付けの便宜のため除去されます。失敗した検証タスクは課金されません。
MEIDのチェック桁はどう計算しますか?
十六進法のLuhnで計算します。十四桁の本体を右から順に、十六進の値(Aは10、Fは15)に2と1を交互に掛け、各積を十六進の各桁の和にまとめて合計し、合計が16で割り切れるようにチェック桁を決めます。
チェック桁が正しければ正規の端末だと言えますか?
いいえ。十五文字が計算上正しい形であることが分かるだけです。メーカーへの割り当てや通信事業者の承認、持ち主、紛失届の有無については何も分かりません。
十五桁のMEIDはどこで使われますか?
機器のラベルや梱包、開通用の一覧、監査用の表などで使われます。通信事業者は取り込むときにチェック桁が合わない行をはじくことで、手入力の誤りや生成側の不具合を見つけられます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/meid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"meid":"6C4BFFC0000004"}'const res = await fetch("https://api.kit.forhosting.com/enc/meid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"meid": "6C4BFFC0000004"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/meid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"meid": "6C4BFFC0000004"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/meid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"meid":"6C4BFFC0000004"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"meid":"6C4BFFC0000004"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/meid", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"meid": "6C4BFFC0000004"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.meid",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
スペース・ハイフン・コロンは貼り付けの便宜のため除去され、それ以外の非16進文字と誤った長さは黙って整形せず、明確なinvalid_inputエラーで拒否します。ブラウザで無料実行するか、公開価格でKIT APIを呼び出してください。
MEIDチェックディジットの計算方法
14桁ペイロードの右端から、各ニブルのコードポイントに係数2と1を交互に適用します(Aは10、Bは11、Fは15)。
チェックディジットの計算と完全なMEIDの検証
スペース・ハイフン・コロン・ドットは除去されるため、6C4B-FFC0-0000-04のような文字列をきれいに貼れます。mode validateはちょうど15桁の16進を期待します。空文字・meid欠落・不正なmode・誤った長さ(例:13桁や16桁)はLuhn通過前に失敗し課金されません。印刷やプロビジョニング用に新しいMEIDを発行・完成させるときはcomputeを、スキャナ・CSV・供給フィードから完全識別子を受け取り資産レコード保存前にブールゲートが必要なときはvalidateを選んでください。任意の区切りを除いたあと16進文字だけを含むmeidフィールドを送ってください。残ったA-F以外の文字や他の記号はmalformed hexadecimalとしてinvalid_inputで拒否され、フォームが黙って整形した値を受け付けることはありません。mode computeが既定で、ちょうど14桁の16進を渡すと、エンジンは1文字の大文字16進check_digit、14桁にチェックを付けたmeid、length 15を返します。末尾が再計算されたexpected_check_digitと一致するとvalid trueとなり、常にpayload(先頭14桁)、送信どおりのcheck_digit、expected_check_digit、payloadと期待文字から成る正規meidが含まれます。この形により、倉庫やRMAのUIで「入力はX、期待はY」を2回目の要求なしに示せます。時計・乱数・ネットワークのない純粋parseのため、同じ入力は無料ブラウザツールとAPIで常に同じJSONになります。成功リクエストあたり$0.002で、大量端末インポート・ラベルプリンタ・パートナーファイル監査を専用ティア交渉なしに守れます。
実機ワークフローにおけるMEIDチェックディジットの位置づけ
統合テストとデータ品質ジョブはエクスポートの全MEID列でexpected_check_digitを再計算し、プロビジョニングHLRや端末ブラックリストに届く前に不一致を隔離します。
連携の活用例
受入時にスキャンまたは入力されたMEIDを検証する
ハンディスキャナやフォームが15桁16進を送ったらmode validateを呼び、validがfalseのときは在庫や保証の更新を止め、expected_check_digitを示して打ち間違いを直します。
技術的な質問
このAPIでMEIDチェックディジットを計算するには?
meidをちょうど14桁の16進にしmode compute(またはmode省略)でPOSTします。応答にcheck_digitとmeid(完全な15桁16進文字列)が含まれます。
15桁16進の完全なMEIDを検証するには?
15文字の16進文字列とmode validateでPOSTします。応答にvalid、check_digit、expected_check_digit、payload、正規meidが含まれます。
MEIDチェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。API呼び出しは公開の基本料金$0.002で前払いKIT残高を使い、無効入力は課金されません。