Luhn演算法計算機

使用許多卡號與識別號碼採用的 Luhn Mod 10 檢查總和,驗證數字序列。

驗證號碼
請只輸入數字,並包含最後一位檢查碼。

關於Luhn演算法

Luhn演算法是一種簡單的檢查總和公式,用來偵測數字字串中的常見錯誤。它也稱為 Mod 10 演算法,因為有效序列經轉換後的總和能被十整除。信用卡帳號是最廣為人知的用途,但此方法也用於 IMEI 裝置識別碼、國家身分識別系統、會員編號與其他結構化代碼。本計算機只檢查數學一致性,不會聯絡發卡機構,也不會確認帳戶是否存在。 驗證從最右側數字開始,該數字視為檢查碼。由右往左,每隔一位將數字加倍。若加倍後大於九,就減去九;這等同於將加倍結果的兩位數字相加。其餘位置的數字保持不變。將所有轉換後的值相加,總和除以十的餘數為零時,完整號碼就通過Luhn檢查。 例如,修改單一數字通常會改變檢查總和的餘數,使序列無效。此方法也能偵測多數相鄰數字對調,因此可涵蓋許多輸入錯誤。不過,它不是密碼學雜湊。不同的錯誤序列可能有相同餘數,任何人也都能刻意建立可通過檢查的檢查碼。因此,Luhn驗證應作為初步資料品質檢查,絕不能作為身分、授權、真實性或可用資金的證明。 計算機會在瀏覽器本機處理數字。請輸入完整號碼,包含既有的最後一位檢查碼,再選擇「驗證號碼」。結果會指出轉換後的總和是否能被十整除,並顯示餘數。餘數為一到九代表號碼不符合檢查總和規則。範例使用已公開的測試型序列,而非真實帳戶資訊。 若合成測試號碼已足夠,請避免在工具中輸入敏感的真實金融資料。雖然此實作不執行網路查詢,良好的安全習慣仍應盡量減少帳戶識別碼的暴露。開發者可用本計算機測試表單驗證,支援團隊可用遮蔽敏感內容的範例排查抄寫錯誤,學生則可跟著運算了解加權檢查總和。通過測試只表示序列符合Luhn公式,後續仍須執行適當且安全的業務驗證。

Luhn演算法範例

號碼結果說明
4532015112830366有效轉換後的數字總和餘數為零。
4532015112830367無效修改最後一位數字,使檢查總和餘數變成一。
79927398713有效這個經典示範序列符合 Mod 10 規則。
79927398714無效修改後的檢查碼不再符合檢查總和規則。

如何使用Luhn驗證號碼

  1. 輸入完整數字序列,包含最後一位檢查碼。
  2. 確認輸入只有數字,沒有空格或標點符號。
  3. 選擇「驗證號碼」,從右側開始隔位加倍。
  4. 閱讀有效性訊息與檢查總和餘數。

Luhn演算法常見問題

通過Luhn驗證能證明什麼?

只能證明數字序列符合 Mod 10 檢查總和,不能證明帳戶存在、仍可使用或屬於任何人。

哪一位是檢查碼?

在完整的Luhn保護序列中,最右側數字通常是檢查碼。使用此驗證器時請包含它。

Luhn演算法可以偵測哪些錯誤?

它能偵測所有單一數字替換,以及多數相鄰數字對調,但無法偵測所有可能的多位數字變更。

Luhn是安全或加密演算法嗎?

不是。它是公開的錯誤偵測公式,不提供保密或身分驗證。安全系統必須另外執行授權與發卡機構檢查。

可以驗證包含空格或連字號的號碼嗎?

本計算機刻意只接受數字,確保輸入內容沒有歧義。驗證前請移除格式字元。