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 14:55 | IT novinky

    ChatGPT může vidět, slyšet a mluvit.

    Ladislav Hagara | Komentářů: 2
    dnes 14:33 | Zajímavý software

    Upscaler je open source nástroj pro zvýšení rozlišení a vylepšení obrázků pomocí AI. Vývoj probíhá na GitLabu. Instalovat lze také z Flathubu. Stejně jako Upscayl je Upscaler postaven nad Real-ESRGAN.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.20.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    dnes 11:55 | Komunita

    V Dublinu o víkendu proběhla dvanáctá iterace multimediální konference Video Dev Days, kterou pravidelně pořádá nezisková organizace VideoLAN. Záznamy přednášek z prvního a druhého dne jsou dostupné na YouTube.

    elenril | Komentářů: 0
    včera 20:44 | Nová verze

    LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), dospěl po pěti letech vývoje do verze 1.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.

    Ladislav Hagara | Komentářů: 0
    23.9. 16:55 | IT novinky

    Facebook má nové logo. Poznáte rozdíl?

    Ladislav Hagara | Komentářů: 6
    23.9. 15:55 | Nová verze

    Byla vydána nová verze 7.2 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Vyzkoušet lze online verzi. Před dvěma týdny vyšla placená verze pro chytré telefony a tablety (App Store, Google Play).

    Ladislav Hagara | Komentářů: 5
    22.9. 14:11 | Pozvánky

    Zítra 23. září proběhne Maker Faire Mladá Boleslav, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.9. 13:33 | Nová verze

    Byla vydána beta verze Ubuntu 23.10 s kódovým názvem Mantic Minotaur. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.10 mělo vyjít 12. října 2023.

    Ladislav Hagara | Komentářů: 10
    22.9. 11:22 | Zajímavý článek

    Josef Průša informuje o nových verzích firmwarů pro tiskárny Original Prusa, 5.0.0 pro MK4 a MK3.9 a 5.1.0-alpha1 pro MINI, díky kterým jsou tiskárny mnohem rychlejší.

    Ladislav Hagara | Komentářů: 0
    Knihy s linuxovou tematikou
     (19%)
     (15%)
     (50%)
     (27%)
    Celkem 275 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    Rozcestník

    Dotaz: Hash algoritmy a kódování utf8/unicode

    14.2.2011 20:30 heš
    Hash algoritmy a kódování utf8/unicode
    Přečteno: 1023×
    Dobrý den. Jsem trochu zmatený co se týče toho,jak různé znakové sady ovlivňují výstupy algoritmů. Zkoušel jsem v php vytvářet NTLM hash, pro ten musí být vstupní řetězec v UTF16-LE, tam je to celkem jasné. Ale co třeba MD5? Znamená to že MD5 bude jiný v UTF8 a třeba v CP1250 pro určité znaky? To znamená že musím omezit vstupní sadu znaků na ty které podporuje to "nejnižší" používané kódování nebo jak to je?

    Odpovědi

    14.2.2011 20:52 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode

    MD5 je algoritmus, který dostane na vstup posloupnost bytů (délky od 0 do 2^64-1) a vypadne z něj 128-bitový digest. Pokud chcete spočítat MD5 digest řetězce, pak samozřejmě záleží na tom, jaké použijete kódování, protože kódování je právě přepis do té posloupnosti bytů.

    mike@lion:~> echo -n řeřicha | od -t x1
    0000000 c5 99 65 c5 99 69 63 68 61
    0000011
    mike@lion:~> echo -n řeřicha | md5sum -
    c5230b32ea6d06cffae51de21f90747a  -
    mike@lion:~> echo -n řeřicha | iconv -f utf-8 -t iso-8859-2 | od -t x1
    0000000 f8 65 f8 69 63 68 61
    0000007
    mike@lion:~> echo -n řeřicha | iconv -f utf-8 -t iso-8859-2 | md5sum -
    71aa885c53c9a9d69d88f0c1db61c4ef  -
    
    To znamená že musím omezit vstupní sadu znaků na ty které podporuje to "nejnižší" používané kódování nebo jak to je?

    To je jedna možnost. Druhá, IMHO vhodnější, je zvolit si jedno preferované kódování (např. UTF-8) a dostanete-li vstup v jiném, převést ho nejdřív na to preferované.

    14.2.2011 21:55 heš
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode

    Druhá, IMHO vhodnější, je zvolit si jedno preferované kódování (např. UTF-8) a dostanete-li vstup v jiném, převést ho nejdřív na to preferované.

    No jenže já právě nevím jaké je to preferované. Mám jednoduchý skript v php, kterým měním hesla do různých webových aplikací (využívajících mysql databázi). Problém je že já v některých případech nemohu zjistit v jakém kódování ta potenciální aplikace ukládá hesla a já potřebuju, aby hesla vytvořená mým skriptem tyto konkrétní aplikace "přečetly" a dobré by bylo aby to šlo i naopak (aplikace vytvoří v cp1250 md5 hash a já ho svým skriptem ze vstupních znaků v utf8 dokážu vytvořit také). To asi možné nebude že? Dalo by se to vyřešit tím, že bych povolil jen určité znaky? Jsou shodné ve všech kódováních bitové reprezentace pro všechny alfanumerické anglické znaky?
    14.2.2011 22:56 kuka
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode
    Nejsou. Nicmene pokud se omezis na nejakou mnozinu kodovani tak to pujde. Napr. win-1250, iso-8859-2 a UTF-8 maji pro anglicke alfanumericke znaky stejne kody.
    15.2.2011 02:15 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode
    Pokud potřebujete kompatibilitu s konkrétní aplikací, musíte hash počítat přesně tak, jak to dělá ta aplikace, s tím prostě nehnete. Což mimo jiné znamená, že "MD5" pravděpodobně ve skutečnosti nebude skutečná MD5, ale jakýsi komplikovaný algoritmus, který MD5 pouze využívá.
    15.2.2011 04:28 heš
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode
    Konkrétně MD5 a SMD5 je stejně implementované jako třeba v openldapu tzn. md5=md5 hash v base64 formátu, smd5=md5(heslo.salt).salt to celé v base64.
    15.2.2011 09:27 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode
    OpenLDAP AFAIK používá totéž co crypt(), tj. to, čemu se sice říká MD5, ale ve skutečnosti to není MD5 digest hesla (ani hesla+salt).
    15.2.2011 14:55 heš
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode
    Podporuje víc formátů, pro MD5: http://www.openldap.org/faq/data/cache/418.html. Jen tak mimo hashe v OpenLDAPu jsou taky závislé na znakové sadě generujícího systému? Není někde podle RFC určeno v jakém charsetu musí být hashe generovány?
    15.2.2011 15:19 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode
    Dokud si nepřečtete a nepokusíte se pochopit, co vám tu píšeme, nemá další vysvětlování smysl.
    15.2.2011 18:08 heš
    Rozbalit Rozbalit vše Re: Hash algoritmy a kódování utf8/unicode
    Já chápu, že hashovací fce pracují s binárním vstupem, tím pádem i v LDAPu budou pro různé zn. sady různé hashe. Jen mě zajímalo jestli není dáno normou, že hashe se do ldapu musí vytvářet právě tím kódováním. Přeci jenom pokud vytvořím v UTF-16 MD5 heslo a vložím do ldapu, tak mi nemusí projít bind s tím heslem. Jak se vlastně určuje kódování komunikace mezi klientem a LDAPem příp. vnitřní kódování v LDAPu?

    Založit nové vláknoNahoru

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

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