USIM 卡的 ICCID 一共 20 位数字,其中最后一位为校验位。校验算法采用卢恩算法(Luhn algorithm),具体规则:
另外需要留意,卡商印刷的时候不一定会印刷校验位,有些卡商会将第二十位数字印刷成卡商代码。
常见卡商代码:
所以,印刷的卡号与从设备获取的卡号有可能不一致,对于业务使用,仅取前 19 位卡号。