Luhn算法(Luhn algorithm),也稱為“模10”(Mod 10)算法,是一種簡單的校驗和算法,一般用于驗證身份識別碼,例如發(fā)卡行識別碼、國際移動設(shè)備辨識碼(IMEI),美國國家提供商標識號碼,或是加拿大社會保險號碼。
該算法由IBM科學(xué)家Hans Peter Luhn創(chuàng)造,專利于1954年1月6日申請,1960年8月23日頒證,美國專利號2950048。該算法現(xiàn)已屬于公有領(lǐng)域并得到了廣泛的應(yīng)用,例如ISO/IEC 7812-1。它不是一種安全的加密哈希函數(shù),設(shè)計它的目的只是防止意外出錯而不是惡意攻擊。