abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:44 | IT novinky

    V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Komunita

    V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.

    Ladislav Hagara | Komentářů: 1
    dnes 04:22 | Nová verze

    Byla vydána nová verze 15.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Zajímavý projekt

    Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.

    Ladislav Hagara | Komentářů: 1
    včera 18:33 | Zajímavý software

    Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 3
    včera 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 6
    včera 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

    … více »
    Ladislav Hagara | Komentářů: 15
    16.6. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1930 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Číslo účtu na prianie

    31.7.2020 23:23 | Přečteno: 1547× | Linux | poslední úprava: 31.7.2020 23:27

    Niektoré banky umožňujú voľbu vlastného čísla účtu, lenže nie každé číslo bude fungovať, tak som spravil malý skript, ktorý takéto čísla vyhľadá.

    Číslo účtu má 10 cifier a splňovať formát "modulo 11", čiže počíta sa tak, že každá cifra sa vynásobí jej váhou: 2^n mod 11, tie sčítame a vysledok musí byť deliteľný 11. Tieto pravidlá fungujú minimálne v CZ a SK

    Chcel som nejaké jednoducho zapamatateľné čísla účtov a tak som spravil v hadovi skript, ktorý vyhľadá všetky čísla podľa zadaných pravidiel:
    
    import sys
    import string
    
    
    WEIGHT = (6, 3, 7, 9, 10, 5, 8, 4, 2, 1)
    
    
    def get_digits(number):
        return [int(digit) for digit in number]
    
    
    def validate_number(number):
        chk = sum([w * i for w, i in zip(WEIGHT, get_digits(number))])
        return chk % 11 == 0
    
    
    def search_numbers(number):
        if len(number) != 10:
            return None
        letters = set()
        for letter in string.ascii_lowercase:
            if letter in number:
                letters.add(letter)
        numbers = []
        for i in range(10 ** len(letters)):
            tested = number
            for letter, num in zip(letters, get_digits(f'{i:0{len(letters)}d}')):
                tested = tested.replace(letter, str(num))
            if validate_number(tested):
                numbers.append(tested)
        return sorted(numbers)
    
    
    def _main(number):
        numbers = search_numbers(number)
        if numbers is None:
            print("account number must have 10 characters")
        for num in numbers:
            print(num)
    
    
    if __name__ == '__main__':
        _main(sys.argv[1])
    
    vstup môže byť napríklad 1234abcdaa a to bude za pismenka doplňovať rôzne kombinácie a vypíše ktoré sú vyhovujú, napr:
    $ python3 search.py 1234aaabbb
    1234000999
    1234111111
    1234222444
    1234333777
    1234555222
    1234666555
    1234777888
    1234888000
    1234999333
    
    $ python3 search.py 00aaaabbbb
    0000000000
    0011116666
    0022221111
    0033337777
    0044442222
    0055558888
    0066663333
    0077779999
    0088884444
    
    $ python3 number_search.py 00abababab
    0000000000
    0019191919
    0027272727
    0035353535
    0043434343
    0051515151
    0078787878
    0086868686
    0094949494
    
    
    takto sa dajú nájsť rôzne kombinácie ľahko zapamatateľných čísel.        

    Hodnocení: 86 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    1.8.2020 15:40 Bhezret | skóre: 1 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie
    Škoda toho Pythonu, v Javě by to bylo rychlejší a bezpečnější, jinak pěkná práce.
    1.8.2020 16:01 rajcze | skóre: 6 | blog: rajcze | kus od Brna
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie
    Asi nemel pul tera RAM na to aby to v Jave spustil :)
    Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.
    1.8.2020 16:48 bugme | skóre: 16 | blog: bugme
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie
    +1 (případně v Rustu)
    1.8.2020 17:06 hm
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie
    +1 Javascript je budoucnost.
    vlk avatar 2.8.2020 10:00 vlk | skóre: 23 | blog: u_vlka
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie
    napis si to v com chces, program som mal hotovy ani ne za 10 minut (preto aj tak vyzera), predpokladam ze v Jave to das za 3 minuty.
    You don't exist, Go away !
    1.8.2020 16:49 bugme | skóre: 16 | blog: bugme
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie
    Taky si můžeš vygenerovat bitcoinovou nebo třeba torovou adresu...
    3.8.2020 10:55 pavell
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie
    Proč to nedáš na gist?
    MakeIranBombedAgain❗ avatar 3.8.2020 18:09 MakeIranBombedAgain❗ | skóre: 42 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Číslo účtu na prianie

    todleto bytě jako mohlo zajímat pane vlk hele :O :O ;D ;D

    ten zoreček jak ho tam maj popsanej asi jako nefunguje ale se zahrnutím tý váhy druhý číslice zprava snad jakoby jo. je tam jediná vyjímka ato když je zbytek po dělení dvojka. řešim to hejbáním uplně nejposlednější cifričkou napravo v čísle. pokud bysme vybrali jako tamtu modulo pozici poslední cifričku s váhou 1 tak zase nenajdem řešení pro zbytek 1 protože desítku na pozici jedný cifry nenacpem stejně jako u tý předposlední u zbytku 2 :O :O :D ;D

    si teda jako myslim že nám stačí mit závislý jenom nějaký dvě zvolený cifry v tom čísle abysme z uplně jakýhokoliv zbytku mohli jakoby udělat něco dělitelnýho bezezbytku jedenáctma noa s vostatníma ciframa čísla si mužem moct dělat uplně co chcem a nebudem muset dělat řešení hrubou silou :D :D ;D ;D

    #!/usr/bin/python3
    
    WEIGHT = (6, 3, 7, 9, 10, 5, 8, 4, 2, 1)
    
    def validate_number(number):
        chk = sum([w * i for w, i in zip(WEIGHT, number)])
        return chk % 11 == 0
    
    
    # kontrolni pozice je předposlední číslice v čísle účtu
    def dopocitej_kontrolni_pozici(number):
        chk = sum([w * i for w, i in zip(WEIGHT, number)])
        
        zbytek = chk % 11
        
        # zbytek plus co je dělitelný bezezbytku jedenácti?? :O ;D
        # předposlední pozice má váhu 2 takže budem skákat po dvojkách od nuly po 18
        # mužem najít pro všecky hodnoty zbytku kromě dvojky protože desítku (abysme měli 22) do jedný
        # jediný cifričky prostě nenacpem ikdbyby sme jakoby děsně moc chtěli :/ :/
        # asi to maj v tom popisu blbě ale nevim
        if zbytek != 2:
            for x in range(0,10):
                if (zbytek + x*2) % 11 == 0:
                    number[-2] = x
                    return True
    
        # když máme zbytek 2 uděláme úpravu nejposlednější čísličky napravo co má váhu jedna
        # takže hejbnem celým zbytkem o jedna
        # lepší řešení mě nenapadlo :/ :/
        else:
            
            if number[-1] < 9:
                number[-1] += 1
                number[-2] = 4
                return True
            else:
                number[-1] = 8
                number[-2] = 5
                return True
        
        # funguje to jakoby ždycky???? :O :O :O :O
        # nóóó mělo by že :O :O ale projistotu :D :D ;D ;D
        return False
    
    # na kontrolní pozici nechávám nuličku by nám to tuhletu hodnotu jakoby přeskočilo
    # při dělání sumy
    cisla = []
    cisla.append([1,2,3,4,5,6,7,8,0,9])
    cisla.append([7,7,7,7,7,7,7,7,0,7])
    cisla.append([1,2,4,8,6,2,4,8,0,2])
    cisla.append([3,1,4,1,5,9,2,6,0,3])
    cisla.append([1,1,2,3,5,8,3,1,0,1])
    cisla.append([4,1,8,3,5,8,3,4,0,4])
    
    for num in cisla:
        dopocitej_kontrolni_pozici(num)
        print(num)
    
        if validate_number(num):
            print('cislo je validni')
        else:
            print('cislo neni validni')
    

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.