Snippets

Zhiwei Li ICCID check

Created by Zhiwei Li

File check_iccid.py Added

  • Ignore whitespace
  • Hide word diff
+def luhn_checksum(card_number):
+    def digits_of(n):
+        return [int(d) for d in str(n)]
+    digits = digits_of(card_number)
+    odd_digits = digits[-1::-2]
+    even_digits = digits[-2::-2]
+    checksum = 0
+    checksum += sum(odd_digits)
+    for d in even_digits:
+        
+        checksum += sum(digits_of(d*2))
+    return checksum % 10
+    
+def is_luhn_valid(card_number):
+    return luhn_checksum(card_number) == 0
+    
+def calculate_luhn(partial_card_number):
+    check_digit = luhn_checksum(int(partial_card_number) * 10)
+    return check_digit if check_digit == 0 else 10 - check_digit
+    
+#print(calculate_luhn(iccid)) 
+if not is_luhn_valid(iccid):
+    exit("invalid iccid")
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.