�Suma lub cyfra kontrolna - cd.

System PESEL - rys historyczny szczeg�y w Wikipedii

Rok 1970
Decyzja Prezydium Rz�du z dnia 9.06.1970r. w sprawie przygotowania koncepcji Powszechnego Elektronicznego Systemu Ewidencji Ludno�ci, kt�rego zadaniem b�dzie kompleksowe uj�cie tematu „cz�owiek” jako centralnego podmiotu ca�ej gospodarki.

Rok 1972
Opracowane zosta�y wst�pne za�o�enia koncepcji Powszechnego Elektronicznego Systemu Ewidencji Ludno�ci,
• koncepcja przewidywa�a tworzenie systemu PESEL w oparciu o podstawowe i�powszechne ewidencje osobowe b�d�ce w gestii resortu spraw wewn�trznych tj. ewidencje stanu cywilnego, dowod�w osobistych, adresowe, zmian imion i nazwisk,
•�wszystkie inne ewidencje osobowe prowadzone na terenie kraju mia�y uzupe�nia� swoimi informacjami zbiory podstawowe i pobiera� z�nich potrzebne informacje,
•�informacje zawarte w systemie PESEL, w miar� jego rozwoju powinny powodowa� zanik dublowania tych informacji we wszystkich innych zbiorach.

Rok 1973
Decyzj� Prezydium Rz�du z 5.07.1973r. Ministerstwo Spraw Wewn�trznych wsp�lnie z�innymi resortami zosta�o zobowi�zane do uruchomienia podsystemu PESEL, obejmuj�cego ewidencj� os�b z wy�szym wykszta�ceniem zwanego systemem MAGISTER.

Rok 1974
Decyzja Prezydium Rz�du z 11.01.1974r. definiuje PESEL jako „rz�dowy system zautomatyzowanego gromadzenia, przetwarzania i udost�pniania informacji o ludno�ci kraju obejmuj�cy podstawowe cechy demograficzne i s�u��cy potrzebom gospodarowania kadrami, planowania gospodarczego oraz usprawniania proces�w administrowania”.

Nadawanie numeru PESEL

Art. 18.

  1. Numer PESEL jest nadawany:
    1. z urz�du - osobie, o kt�rej mowa w art. 8 ust. 1;
    2. na wniosek - osobie, o kt�rej mowa w art. 8 ust. 2.
  2. Numer PESEL nadaje minister w�a�ciwy do spraw wewn�trznych.
  3. Nadanie numeru PESEL jest czynno�ci� materialno-techniczn�.

Numer PESEL jest zmieniany w przypadku:

  • zmiany daty urodzenia;
  • zmiany p�ci osoby;
  • nadania numeru PESEL na skutek omy�ki organu administracji maj�cej wp�yw na numer PESEL lub wprowadzenia w b��d organu administracji o to�samo�ci osoby.

Numer PESEL - cyfra kontrolna

Dla numeru PESEL algorytm obliczenia cyfry kontrolnej przebiega nast�puj�co: ka�dej z pozycji cyfr numeru nadany zosta� sta�y wsp�czynnik zwany wag� pozycji. Ka�d� cyfr� numeru mno�y si� przez odpowiedni� wag� i sumuje si� wynik mno�enia. Otrzymany wynik dzieli si� modulo 10 i odejmuje od 10.

  • Uwaga: linki juz nieaktualne NB. powy�szy opis spotykany jest w polskim Internecie {np. http://republika.pl/stepa/cyfra.htm (Stepa), http://dione.ids.pl/~radek/code/pesel.html (Rados�aw Roszczyk), http://www.zse.bydgoszcz.pl/~sunio/kody.html (Marcin Sulecki) } i zawiera pewien drobny b��d: Brak opisu co nale�y zrobi� je�li po sumowaniu iloczyn�w ostatnia cyfra b�dzie zerem. Oczywi�cie r�nica 10-x wyjdzie 10 i wtedy nale�y przyj�� 0 jako cyfr� kontroln� a nie 10.
    Ten sam b��d wyst�puje w opisach i w algorytmach zastosowanych w formularzach do weryfikacji numer�w PESEL, REGON itd. stworzonych ju� po opublikowaniu niniejszego tekstu (np. pliszak) - troch� wstyd - prawda ?
    aktualizacja 2018 poprawiony
    A ostatnio (13.8.2005) stwierdzi�em, �e ten b��d jest tak�e pope�niony na stronie Ministerstwa Spraw Wewn�trznych i Administracji dotycz�cej w�a�nie (link nieaktualny) http://www.mswia.gov.pl/portal/pl/381/32/PESEL.html#w%20jaki%20spos%C3%B3b Systemu PESEL - tym razem to straszny wstyd – we wrze�niu 2009 nadal b��d jest nie poprawiony.
    Tak�e na stronie http://www.pko.pl/f/pesel.htm b��dnie jest weryfikowany numer PESEL z powodu tego samego b��du. (6.2.2006)

Jak �atwo zauwa�y� odj�cie wyniku od 10 nic w zasadzie nie zmienia ale widocznie tw�rcy systemu PESEL (Powszechy Elektroniczny System Ewidencji Ludno�ci) dostali rozkaz (a by�y to lata siedemdziesi�te) aby troch� utrudni� rozszyfrowanie tego systemu zachodnim szpiegom :-).
Ale z doniesie� czytelnika tej strony wynika, �e ca�y system PESEL, chyba nawet z komputerami, by� kupiony od Szwed�w, wi�c o tajemnicy nie ma mowy. :-(
Ale ... w Szwecji personnummer, odpowiednik numeru PESEL ma tylko 10 cyfr, cyfr� kontroln� oblicza si� wed�ug metody Luhn'a, algorytmu, w kt�rym mno�nikami s� przemiennie 1 i 2. Wsp�lnymi cechami z systemem szwedzkim s�: sze�ciocyfrowy zapis daty urodzenia, oznaczenie p�ci w numerze i po�o�enie cyfry kontrolnej na ko�cu numeru.

W dokumencie „Wst�pne zalo�enia koncepcji PESEL” z 1972 r. zaproponowano obliczanie cyfry kontrolnej z wagami 2 1 2 1 2 1 2 1 2 1. W roku 1975 ju� w dokumentach pokazano wsp�czynniki wagowe 1379137913
Wi�cej o zawarto�ci informacyjnej systemu PESEL mo�na znale�� w wikipedii

Algorytm jest w zasadzie modyfikacj� og�lniejszego algorytmu stosowanego przy weryfikacji numerow NIP, REGON, ISBN, ISSN, EAN itd. W og�lnym algorytmie sum� iloczyn�w cyfr i wag dzieli si� modulo N (oblicza reszt� z dzielenia przez N). Dla N=10 wynik dzielenia modulo N jest po prostu ostatni� cyfr� sumy.

 Oto przyk�ad dla numeru PESEL 49040501580

    1 3 7 9 1 3 7 9 1 3    --> wagi
    X X X X X X X X X X Y  --> cyfry nr PESEL (Y- cyfra kontrolna)

czyli:       
            1 3 7 9 1 3 7 9 1 3
         *  4 9 0 4 0 5 0 1 5 8
        -----------------------
suma=(1*4+3*9+7*0+9*4+1*0+3*5+7*0+9*1+1*5+3*8)=
    =(  4+ 27+  0+ 36+  0+ 15+  0+  9+  5+ 24)=  120
 
          120 mod 10 = 0

           10 - 0 =  10   ----> cyfra kontrolna ?
 korekta: dla wyniku 10   ----> cyfra kontrolna = 0

Uzyskany wynik jest cyfr� kontroln� numeru, kt�ry w naszym przypadku ma posta�: 49040501580 i dotyczy kobiety urodzonej: 5 kwietnia 1949 roku. W przypadku wprowadzenia b��dnego numeru PESEL, komputer po obliczeniu cyfry kontrolnej mo�e ten b��d wykry�, gdy� np: je�li pomylimy si� i zamiast 49040501580 podamy 46040501580 to otrzymamy:

            1 3 7 9 1 3 7 9 1 3
         *  4 6 0 4 0 5 0 1 5 8
        -----------------------
suma=(1*4+3*6+7*0+9*4+1*0+3*5+7*0+9*1+1*5+3*8)=
    =(  4+ 18+  0+ 36+  0+ 15+  0+  9+  5+ 24)=  111
          111 mod 10 = 1
           10 - 1 =  9

Obliczona cyfra kontrolna to 9, podczas gdy prawid�owa cyfra to 0. Oczywi�cie mo�e nast�pi� przypadek b��dnego wprowadzenia tak�e ostatniej cyfry.
W tym przyk�adzie �atwo sie pomyli� gdy� na formularzu drukowanym na drukarce ig�owej cyfra 0 jest podobna do cyfry 8. Wtedy algorytm przepu�ci b��dne dane.

Weryfikacja numeru PESEL
mo�e by� wykonana wed�ug podobnego, ale prostszego algorytmu:
Do cyfr wagowych dla dziesi�ciu cyfr dopisujemy wag� r�wn� 1 dla cyfry kontrolnej - czyli dla jedenastej cyfry. Sumujemy iloczyny kolejnych cyfr i ich wag. Je�li ostatnia cyfra wyniku wynosi 0 (zero) to numer PESEL jest prawid�owy.

�ukasz Pilorz (2006) bardzo sprytnie zauwa�y�, �e "... wystarczy zmieni� kolejno�� wag na 9-7-3-1, by pozby� si� za jednym zamachem dodatkowego kroku i problemu "10-0=10".

Ale �ci�le rzecz bior�c nie chodzi o zamian� kolejno�ci wag 1-3-7-9 ale o u�ycie wag, kt�re s� dope�nieniem starych wag do liczby u�ytej jako modulo sumy iloczyn�w.

              10 10 10 10
  stare wagi  -1 -3 -7 -9
  ________________________
  nowe wagi    9  7  3  1

dla nowych wag:       
            9 7 3 1 9 7 3 1 9 7
         *  4 9 0 4 0 5 0 1 5 8
        -----------------------
suma=(9*4+7*9+3*0+1*4+9*0+7*5+3*0+1*1+9*5+7*8)=
    =( 36+ 63+  0+  4+  0+ 35+  0+  1+ 45+ 56)=  240
 
          240 mod 10 = 0  wynik jest cyfr� kontroln� 
                          nie wymaga odejmowania od 10          

Alternatywne zestawy wag do weryfikacji - (dopisane 27.10.2011r)

Do algorytmu weryfikacji mo�na te� u�y� innych zestaw�w wag.
Powszechnie znany w internecie zestaw wag: (1 3 7 9 1 3 7 9 1 3 1). Nast�pne zestawy: (3 9 1 7 3 9 1 7 3 9 3), (9 7 3 1 9 7 3 1 9 7 9), (7 1 9 3 7 1 9 3 7 1 7).

Jaki jest zwi�zek mi�dzy tymi czterema zestawami wag? Dla cz�onk�w MENSY nie powinno by� problemu z odgadni�ciem :-)

Druga zagadka. Skoro ka�dy z tych czterech zestaw�w mo�e byc u�yty, to kt�ry z nich jest u�ywany przez MSWiA i system PESEL? Niestety nie dotar�em do oficjalnego dokumentu na ten temat.

Dlaczego w wagach u�yto cyfr 1 3 7 9 ? Prosz� zwr�ci� uwag�, �e w wagach brak jest cyfry 5. Dlaczego?
Poniewa� gdyby by�a cyfra 5 to przy pomy�kowym wprowadzeniu 3 zamiast 5 otrzymaliby�my wprawdzie inn� sum� kontroln�, ale cyfra kontrolna by�aby taka sama: bo 5x5=25, 3x5=15 i oba wyniki ko�cz� si� t� sam� cyfr� 5
Z tych samych powod�w w wagach nie wyst�puje �adna liczba parzysta, a tym bardziej zero!

Bardziej matematyczny dow�d sensowno�ci u�ycia wag 1 3 7 9 przy dzieleniu modulo 10 oraz wy�szo�� dzielenia modulo 11 pokaza�em na stronie wagi. Jest tam tak�e analizowana odporno�� powy�szych wag i wag algorytmu Luhna na czeskie b��dy.

Weryfikacja sensowno�ci numeru PESEL

Jak wiadomo w numerze PESEL s� zakodowane informacje o dacie urodzenia i p�ci danej osoby. Prawdziwo�� numeru PESEL, tzn. czy konkretny numer PESEL jest przypisany jakiej� osobie, mo�na tylko zweryfikowa� w samym systemie PESEL. A do tego systemu maj� on-line tylko dost�p wybrane urz�dy. Zwyk�y obywatel mo�e si� dowiedzie� za pieni�dze!

Mo�na natomiast, opr�cz cyfry kontrolnej, sprawdzi� sensowno�� daty urodzenia.

Przyk�adowy numer PESEL =49040501580 zdekodujemy:

49 oznacza rok urodzenie 1949,
04 oznacza miesi�c 4. czyli kwiecie�,
05 oznacza dzie� 5.

A jak jest za�atwiany problem wieku XIX, XX, XXI?
Dla wieku XX do numeru miesi�ca dodaje si� 00 - czyli nic si� nie dodaje. Dla wieku XXI dodaje si� 20, dla wieku XXII dodaje si� 40, dla wieku XXIII dodaje si� 60. Natomiast 80 dodaje si� do numeru miesi�ca dla wieku XIX.

Wiadomo, �e numer roku mo�e przyj�� dowoln� warto�� od 00 do 99, natomiast numer miesi�ca warto�ci od 01 do 12. Gorzej jest z numerem dnia w miasi�cu gdy� jest to warto�� zmienna w zakresie od 1 do 31. W r�nych miesi�cach mo�e to by� 30 lub 31, a dla lutego mo�e by� to 28 lub 29 zale�nie od przest�pno�ci roku. Jednym s�owem trzeba u�y� jakiej� procedury, kt�ra sprawdzi poprawno�� daty. W j�zyku programowania PHP i Javascript u�ywanych powszechnie do obr�bki danych w serwisach internetowych jest to do�� proste.

Kr�tko: � taki PESEL � 00000000000 ma prawid�ow� cyfr� kontroln�, ale jest w oczywisty spos�b bezsensowny. Rozkodowana data urodzenia to:
rok=1900 miesi�c=00 dzie�=00
Raczej bez sensu. Niestety niekt�re weryfikatory pokazuj� takie bzdury. Patrz przyk�adowy program sprawdzacz:
https://code.google.com/archive/p/sprawdzacz/
Pokazuje w wersji 0.4 W wersji 0.5 ju� poprawiono
Program tak�e reaguje na b��dn� dat� w PESELu. Numer 19222900001 ma poprawn� cyfr� kontroln�, ale data 29 lutego 2019 nie istnieje.

Czy algorytm sumy kontrolnej jest optymalny ?

W jednym z tekst�w w internecie podano, �e stopa b��d�w tego algorytmu wynosi 2,3% - by� mo�e chodzi o czeskie b��dy. Ale wed�ug mnie wynosi 10% co �atwo wyliczy� je�li uwzgl�dnimy, �e cyfra kontrolna mo�e przyj�� 10 warto�ci, z kt�rych jedna jest prawid�owa. Z elementarnego rachunku prawdopodobie�stwa wychodzi 1/10*100% = 10%.
Co wi�cej, wskutek przyj�cia tych samych wag dla cyfr roku i cyfr dnia algorytm jest podatny na b��dne podanie daty urodzenia przy nadawaniu numeru PESEL przez tajne (brak jego strony w internecie) Rz�dowe Centrum Informatyczne "PESEL" lub jego terenowy oddzia�. Pami�tajmy, �e w numerze PESEL zakodowana jest data urodzenia konkretnej osoby. Dla przyk�adu osoba urodzona 11 maja 1912 roku powinna by� zakodowana jako 120511xxxxk. Tymczasem przy wprowadzaniu �atwo si� pomyli� i wpisa� w kolejno�ci dzie� miesi�c rok jako: 110512xxxxk. Oba takie numery PESEL b�d� mia�y t� sam� cyfr� kontroln�.

Ciekawostki w kodowaniu numeru PESEL

  • Dwie pierwsze cyfry oznaczaj� ostatnie dwie cyfry w roku urodzenia. Dla przyk�adu osoba urodzona w roku 1966 ma w numerze PESEL 66mmddxxxxk.
  • Cyfra trzecia i czwarta oznaczaj� miesi�c urodzenia.
  • Ale je�li dana osoba urodzi�a si� przed rokiem 1900, ale po roku 1800 to do liczby miesi�ca dodaje si� 80. Dla przyk�adu: osoba urodzona 1 grudnia 1898 ma numer PESEL 989201xxxxk
  • Osoby urodzone w roku 2000 i p�niej maj� powi�kszony numer miesi�ca o liczb� 20. Dla przyk�adu osoba urodzona 1 grudnia 2000 b�dzie mia�a numer PESEL 003201xxxxk
  • Cyfry pi�ta i sz�sta oznaczaj� dzie� urodzenia.
  • W cyfrach si�dmej, �smej, dziewi�tej i dziesi�tej zakodowany jest numer seryjny :-) danego osobnika.
  • W dziesi�tej cyfrze PESEL zakodowana jest jednocze�nie p�e� osoby: nieparzysta oznacza m�czyzn�, a parzysta kobiet�. Ciekawostka: w wielu podobnych do PESELa numer�w nadawanych w krajach europejskich nieparzysta cyfra oznacza m�czyzn� a parzysta kobiet�.
  • W jedenastej jest oczywi�cie s�ynna cyfra kontrolna.
  • Na razie brak danych do rozkodowania innych informacji tam zawartych. Nie wiadomo, na przyk�ad, co decyduje czy dana kobieta jako kod p�ci dostanie 0, 2, 4, 6 czy 8. �.�.�.�badania�trwaj� :-)

    NB1 Oto tek�cik na ten temat w dodatku "Komputer" do Gazety Wyborczej z 1995 roku.
    NB2 Wed�ug niekt�rych opinii (uwaga jednego czytelnik�w tego tekstu) " ... 'nr seryjny' jest zakodowany na cyfrach 7-10, tylko kobietom s� przydzielane kolejne numerki parzyste, a ch�opcom - kolejne nieparzyste.
    A co do innych zakodowanych informacji, to je�li by tam takowe by�y, to by�oby to absolutnie nielegalne w �wietle ustawy o ochronie danych osobowych (co� tam takiego jest, �e nadawanie cyfrom ukrytych znacze� we wszelkich numerach ewidencyjnych jest zabronione - opr�cz oznaczenia p�ci i daty urodzenia). Ale kto wie... ;)))"
    (moja uwaga na temat ukrytego znaczenia) - system PESEL powsta� na d�ugo przed ustaw� o ochronie danych osobowych - wi�c nie musia� by� z ni� zgodny.

  • W styczniu 2001 zauwa�y�em stroniczk� na temat Centralnych Rejestr�w Pa�stwowych PESEL na serwerze Ministerstwa Spraw Wewn�trznych i Administracji. Jest tam troszk� informacji na ten temat. W roku 2005 by� aktualny raczej ten link "http://www1.mswia.gov.pl/index.php?dzial=72&id=32" , ale w roku 2008 jest jeszcze gdzie indziej PESEL.
  • Ostatnio zdoby�em z pewnej bazy danych spor� pul� numer�w PESEL (bez nazwisk i innych danych osobowych, �eby uspokoi� GIODO, RODO i SRODO:) i mog�em przeanalizowa� 'numery seryjne' zawarte w peselu. Okazuje si�, �e nie s� to numery kolejne. Bowiem najwy�szy numer seryjny jaki widzia�em w tej puli wynosi� (RRMMDDnnnnK) nnnn=9896. Nie wyobra�am sobie a�eby w dniu, w kt�rym urodzi�a si� ta kobieta urodzi�o si� prawie dziesi�� tysi�cy dzieci. Wed�ug mnie ten 'numer seryjny' zosta� wygenerowany sztucznie, a nie jako kolejny numer osobniczy. Dlaczego - tego ju� nie wiem.
    Przy okazji tej analizy potwierdzi�a si� pewna dziwaczno�� je�li chodzi o rozk�ad cz�stotliwo�ci urodze� w ci�gu roku. Patrz moje odkrycie.
  • Pytanie: ile rodzi si� dzieci ka�dego dnia?
    Tu jest dok�adna liczba: gazeta.pl Cytat : "G��wny Urz�d Statystyczny podaje w raporcie 'Podstawowe informacje o sytuacji demograficznej Polski w 2011 roku', �e w 2011 r. urodzi�o si� ok. 391 tys. dzieci. Jest to ponad 22 tys. mniej ni� przed rokiem. W latach 2003-2009 odnotowano stopniowy wzrost liczby urodzin z 351 tys. do 417,6 tys. W 2010 roku urodzi�o si� ju� tylko 413 tys. dzieci."
    Jest te� tam wykres dla lat od 1946 do teraz:

    Liczba urodze� w Polsce od roku 1946 w tysi�cach. Dane GUS

    Z tego wykresu wynika, �e maksimum wysz�o w latach 1951-56 i wynosi�o ok 800tys/rok

    Czyli rocznie to by�o maksymalnie 800 tys dzieci.
    Dziennie daje to 800000/365 = 2192 dzieci na dzie�.
    Ale w ci�gu roku ta liczba si� waha, wi�c przyjmijmy, �e to jest maksymalnie 3tys dzieci na dzie�. Przyjmijmy 1500 dziewczynek i 1500 ch�opc�w.

    Je�eli ponumerujemy wszystkie te dzieci urodzone tego samego dnia to ostatnie dziecko b�dzie mia�o numer 3000. Kolejnymi liczbami parzystymi numerujemy dziewczynki, a nieparzystymi numerujemy ch�opc�w.
    Przypu��my, �e dzieci si� urodzi�y 1 stycznia 1999 roku.
    Pierwsza dziewczynka wpisana do rejestru PESEL b�dzie mia�a numer PESEL = 990101 0000 2
    Pierwsza cz�� to data urodzenia, druga to numer kolejny a ostatnia to cyfra kontrolna.
    Pierwszy ch�opiec b�dzie mia� numer PESEL 990101 0001 9.
    Ostatnia dziewczynka mo�e mie� numer PESEL 990101 3000 1.

    Jak wi�c wida�, cztery cyfry na numer kolejny wystarczaj�.
    Pami�tajmy, �e wykorzystujemy te� cyfr� do kodowania p�ci, ale ta �sma cyfra ma dziesi�� r�nych warto�ci. Po�owa z nich jest dla dziewczynek, a po�owa dla ch�opc�w.
    A si�dma cyfra to nie tylko 0 i 1.
    W zbiorze r�nych prawdziwych numer�w PESEL na si�dmym miejscu mam:
    2737 razy cyfr� 0, 648 razy cyfr� 1, 25 razy cyfr� 2, 5 razy cyfr� 3, dwa razy cyfr� 4, trzy razy cyfr� 5, dwa razy cyfr� 6, jeden raz cyfr� 8.

  • Przyk�ad kodu php do weryfikacji numeru PESEL
    <?php 
    function vpesel($PESEL,$sex="?") {
     if ($PESEL[9] % 2 and $sex=="K") return false;
       else if (!$PESEL[9] % 2 and $sex!="M") return false;
     $w = array(1,3,7,9);
     for ($i=0;$i<=9;$i++)
       $wk = ($wk+$PESEL[$i]*$w[$i % 4]) % 10;
     $k = (10-$wk) % 10;
     if ($PESEL[10]==$k) return true;
       else return false;
    }
    ?>
    

    Zatem funkcja:

    bool(string pesel [,string sex])

    zwraca true je�eli nr PESEL jest poprawny, w przeciwnym wypadku false.

    Przyk�ady wywo�a�:

    vpesel("74021834012") - je�eli nie mamy informacji o p�ci
    vpesel("74021834012","M"); - je�eli wiemy, �e to m�czyzna
    vpesel("74021834012","K"); - je�eli wiemy, �e to kobieta

    Powy�szy kod i komentarz pochodzi z
    http://www.szewo.com/php/pesel.phtml

    Pan Arkadiusz Kusznierski (wrzesie� 2008) napisa�:
    Pozwol� sobie na ma�y komentarz odno�nie poprawno�ci dzia�ania algorytmu. ...
    W kodzie php (funkcja vpesel) ... jest ma�y b��d.
    http://www.mswia.gov.pl/pl?dzial=&id=6628 W linii nr 4 jest warunek $sex!="M" natomiast na stronie www.szewo.com/php/pesel.phtml warunek ten ma posta� $sex=="M".
    Moim zdaniem poprawny jest warunek $sex=="M".
    Je�li funkcj� vpesel wywo�amy nie znaj�c p�ci (na przyk�ad vpesel("80031317708");) to warunek $sex!="M" b�dzie prawd� poniewa� argument domy�lny funkcji $sex ma warto�� "?". Wtedy dla numer�w pesel posiadaj�cych na przedostatniej pozycji 0 (zero) ca�y warunek p�tli if w linii 4 b�dzie prawd� i funkcja zwr�ci false. A nie powinna. Je�li wywo�ujemy funkcj� vpesel bez podawania p�ci linie 3 i 4 nie powinny zwraca� false. W takim przypadku algorytm powinien wykona� si� do ko�ca.

    Przetestowa�em obie wersje funkcji (starsz� i nowsz�) i stwierdzi�em, �e obie daj� w pewnych sytuacjach b��dy. Nowsza daje mniej b��d�w :)


    Prosz� zwr�ci� uwag� na wynik trzeci od do�u. Cyfra 2 wskazuje, �e to kobieta. Testujemy czy to M�czyzna, a funkcja m�wi, �e to prawda.

    Poprawiony kod funkcji daje poprawny wynik dla wszystkich testowanych przypadk�w


    Diabe� tkwi w szczeg�ach.
    Aktualny kod 'szewo':
    else if (!$PESEL[9] % 2 and $sex=="M") return false;
    M�j poprawiony kod:
    else if (!($PESEL[9] % 2) and $sex=="M") return false;
    Prosz� zwr�ci� uwag� na wzi�cie w nawias wyniku dzielenia modulo, przez co wymuszamy zmian� kolejno�ci dzia�a�.

    Kod programu testuj�cego vpesel1.php

    Arkadiusz napisa� potem: Operator negacji ma wy�szy priorytet ni� operator modulo co powoduje, �e negacja zawsze wykona si� przed dzia�aniem modulo.
    Wprowadzenie nawias�w zamienia t� kolejno�� i o to nam chodzi.
    Brak tych dodatkowych nawias�w powodowa� b��d dla PESEL nr 74021834025, natomiast na�o�enie si� dw�ch b��d�w (brak nawias�w i warunek $sex!="M") powodowa� b��dy dla nr PESEL maj�cych 0 (zero) na 9 pozycji (np. dla PESEL nr 80031317708).
    Brak nawias�w powoduje, �e operacja negacji jest wykonywana na argumentach z zakresu od 0 do 9. Interpreter php przed wykonaniem negacji dokona niejawnej konwersji typ�w z integer na boolean. Je�li by�o 0 (zero) to przekonwertuje na false, a je�li argumenty by�y z przedzia�u od 1 do 9 to przekonwertuje na true. To w�a�nie powoduje b��dy.

    Ma�a ciekawostka na koniec. Wywo�anie vpesel("aleglupitxt"); zwr�ci true, wi�c warto zabezpieczy� funkcj� vpesel przed takim wywo�aniem.


  • Kod arkusza Excela do obliczenia cyfry kontrolnej dla wielu wprowadzonych numer�w PESEL — niewielka przer�bka umo�liwia weryfikacj�.
    arkusz pesel3.xls (44kB)
  • Ciekawostka: w wielu podobnych do PESELa numer�w nadawanych w krajach europejskich nieparzysta cyfra na pewnej pozycji oznacza m�czyzn� a parzysta kobiet�. I co ciekawsze po zmianie p�ci przydzielany jest nowy numer :)

Tak zwany System PESEL2

Komunikat o zako�czeniu realizacji Projektu PESEL2 - serwer MSWiA

Realizacja Projektu PESEL2, tworzonego przez MSWiA w ramach dzia�ania 1.5 Sektorowego Programu Operacyjnego Wzrost Konkurencyjno�ci Przedsi�biorstw, zosta�a zako�czona dnia 30 wrze�nia 2008 roku.

W grudniu 2007 roku, z uwagi na znacz�ce op�nienia w realizacji Projektu w latach 2005-2007, MSWiA opracowa�o plan naprawczy, kt�ry zak�ada� istotne ograniczenie zakresu projektu do element�w realizowalnych w czasie pozosta�ym do rozliczenia projektu. Uzgodniony zakres us�ug obejmowa� gruntown� modernizacj� infrastruktury sprz�towej centralnych rejestr�w pa�stwowych wraz z uruchomieniem w jej �rodowisku e-us�ug. Z powodzeniem wykonano modernizacj� systemu rejestr�w pa�stwowych funkcjonuj�cego na przestarza�ym �rodowisku informatycznym "JANTAR" (pochodz�cym z lat 70-tych). Zrealizowano r�wnie� nast�puj�ce us�ugi:

  1. "Weryfikacja istnienia dowodu osobistego, zawieraj�cego okre�lony zestaw danych w bazie aktualnych dowod�w osobistych" - po podaniu okre�lonych informacji zawartych w dowodzie osobistym us�uga wyszukuje dokument w Og�lnokrajowej Ewidencji Wydanych i Uniewa�nionych Dowod�w Osobistych. W przypadku, gdy podane informacje b�d� zgodne z zapisami w bazie danych, system zwr�ci informacj� o pomy�lnej weryfikacji.
  2. "Weryfikacja danych adresowych os�b ewidencjonowanych w rejestrze PESEL" - na podstawie danych osoby i wskazanego adres, us�uga pozwala zweryfikowa�, czy osoba jest zameldowana pod podanym adresem.
  3. "Udost�pnianie danych adresowych os�b ewidencjonowanych w rejestrze PESEL" - po wprowadzeniu danych osoby us�uga pozwala uzyska� jej bie��cy adres zameldowania.

Us�ugi s� dost�pne dla przedsi�biorc�w: pierwsze dwie w trybie teletransmisji, a trzecia przez elektroniczn� Platform� Us�ug Administracji Publicznej.

Przebudowuj�c rejestry pa�stwowe, zdecydowano si� wykorzysta� rozwi�zania technologiczne pozwalaj�ce sprawnie i dynamicznie zreformowa� eksploatowane systemy w celu ich dostosowania do planowanego odmiejscowienia czynno�ci urz�dowych. Pomy�lnie zrealizowane zadania nakre�lone w ramach planu naprawczego stanowi� podstawy do rozpocz�cia przez MSWiA prac nad projektem pl.ID - elektronicznym dokumentem to�samo�ci.

17 listopada 2008


PESEL Wst�pne za�o�enia koncepcji

W opublikowanej w 1972 roku pracy PESEL Wst�pne za�o�enia koncepcji,
przedstawiono uzasadnienie budowy samego identyfikatora osobowego, zwanego teraz numerem PESEL oraz organizacj� cz�ciowo scentralizowanego systemu nadawania tych identyfikator�w.

W przedstawionej koncepcji zaproponowano by data urodzenia by�a w kolejno�ci dd-mm-rr. Aktualnie w identyfikatorze jest kolejno�� rr-mm-dd.

Zaproponowany wtedy spos�b kodowania daty urodzenia w XIX, XXI, XXII i XXIII pozosta� bez zmian.

Wst�pnie zaproponowana metoda obliczania cyfry kontrolnej opiera�a si� o inny zestaw wsp�czynnik�w wagowych (2 1 2 1 2 1 2 1 2 1).

„Osoba urodzona w dniu 5 lipca 2002, p�ci m�skiej, kt�rej przydzielono numer serii 2345 posiada� b�dzie nast�puj�cy identyfikator.

                0   5   2   7   0   2   2   3   4   5 ·
             �  2   1   2   1   2   1   2   1   2   1
               --------------------------------------
                0 + 5 + 4 + 7 + 0 + 2 + 4 + 3 + 8 + 5 = 38 
                 10 - 8 = 2 
        Cyfra kontrolna = 2

Pe�ny identyfikator ma wi�c posta�: 05270223452.”

13 wrze�nia 2022



ci�g dalszy


����������Licznik = (od 21 lipca 2000)
����������ostatnie poprawki

Valid HTML 4.01!