Alle danskeres CPR-numre til fri download

Her er et Python-script, der genererer en liste over alle kombinationer af datoer i formatet ddmmyy med alle kombinationer af tallene fra 0 (0000) til 9999:

from datetime import datetime, date, timedelta

# Credits to https://stackoverflow.com/a/62248100, https://creativecommons.org/licenses/by-sa/4.0/
start = '1899-12-31'
end = '1999-12-31'
start_date = date.fromisoformat(start)
end_date = date.fromisoformat(end)
date_range = [end_date - timedelta(days=i) for i in range((end_date - start_date).days)]
reverse_range = list(reversed(date_range))

with open("cpr.txt", "a") as cprfile:
    for i in range(0,10000):
        print(i)
        for date in reverse_range:
            i_formated = f"{i:04d}"
            date_formated = datetime.strftime(date, '%d%m%y')
            cpr = date_formated + i_formated + '\n'
            cprfile.write(cpr)

Hele listen fylder 4 GB, men kan heldigvis komprimeres. Med 7zip fik jeg den ned på 44 MB.

Download den komprimerede liste her.