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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 17:02 | Pozvánky

Přijďte si popovídat o open source obecně a openSUSE konkrétně s dalšími uživateli a vývojáři. Oslava nového vydání openSUSE Leap se uskuteční 16. prosince od 17:00 v nových prostorách firmy SUSE v Praze. K dispozici bude nějaké občerstvení a DVD pro ty, kdo je sbírají nebo ještě mají mechaniku. Po párty v kanceláři se bude pokračovat v některé z hospod v okolí.

Miška | Komentářů: 7
včera 14:55 | Zajímavý software

Byla vydána verze Alpha 1.0 otevřeného operačního systému pro chytré hodinky AsteroidOS. Podporovány jsou hodinky LG G Watch, LG G Watch Urbane, Asus ZenWatch 2 a Sony Smartwatch 3. Ukázka ovládání hodinek na YouTube. Jaroslav Řezník přednášel o AsteroidOS na chytrých hodinkách (videozáznam) na letošní konferenci OpenAlt.

Ladislav Hagara | Komentářů: 0
včera 13:30 | Zajímavý software

Byly uvolněny zdrojové kódy známé rogue-like hry DoomRL. Počátky hry jsou v roce 2002. Je napsána ve FreePascalu a zdrojový kód je nyní k dispozici na GitHubu pod licencí GNU GPL 2.0. Autor pracuje na nové hře Jupiter Hell, která je moderním nástupcem DoomRL a na jejíž vývoj shání peníze prostřednictvím Kickstarteru.

Blaazen | Komentářů: 0
včera 13:15 | Pozvánky

Přijďte s námi oslavit vydání Fedory 25. Na programu budou přednášky o novinkách, diskuse, neřízený networking atd. Release Party se bude konat 16. prosince v prostorách společnosti Etnetera. Na party budou volně k dispozici také propagační materiály, nová DVD s Fedorou 25 a samozřejmě občerstvení. Přednášky budou probíhat v češtině. Pro více informací se můžete podívat na web MojeFedora.cz. Jen připomínám, že tentokrát jsme zavedli

… více »
frantisekz | Komentářů: 0
9.12. 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
9.12. 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 4
9.12. 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

Ladislav Hagara | Komentářů: 0
9.12. 01:02 | Zajímavý článek

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (23%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 810 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Java - jak vygenerovat hash určité délky

tmr avatar 22.11.2009 11:58 tmr | skóre: 17 | blog: Offtopic | Praha 5
Java - jak vygenerovat hash určité délky
Přečteno: 1286×
Dobrý den,

potřeboval bych v Javě napsat funkci, které budu předávat 2 parametry - string který se má hashovat a délku výsledného hashe (délka dejme tomu v desítkovém zápisu). Takže když zavolám get_hash("pokus", 4), tak dostanu třeba "2849". Jak to mám udělat?

Odpovědi

22.11.2009 12:18 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
K čemu to má být dobré?
Překladač ti nikdy neřekne: "budeme kamarádi"
tmr avatar 22.11.2009 12:50 tmr | skóre: 17 | blog: Offtopic | Praha 5
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Ne, že bych tuhle otázku nečekal :-) To je na delší povídání, v podstatě jde o to že uživatel bude muset ten hash opsat z webu do mobilu, takže dlouhý hash nebude zrovna to pravé. Napadlo mě jedno řešení - vzít třeba jenom prvních x cifer z MD5 hashe, to by snad mělo stačit...
Konqui avatar 22.11.2009 14:32 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
A musí to být hash nebo stačí jen náhodné čísla/písmena o určité délce?
Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.
tmr avatar 22.11.2009 16:09 tmr | skóre: 17 | blog: Offtopic | Praha 5
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Hash
22.11.2009 15:34 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Škoda, že když jsi tu otázku čekal, tak jsi rovnou nenapsal odpověď do dotazu :) Ptal jsem se proto, protože není hash jako hash a ne každý se hodí ke všemu. Problém podobných dotazů jako jsi položil je v tom, že dotazující si na řešení problému zvolí nějaké řešení (dost často naprosto nevhodné nebo zbytečně složité) a na to se rovnou zeptá. Bohužel místo toho, aby se zeptal na řešení původního problému. Pak přestože existuje spousta jiných a jednodušších cest, tak mu s pak už nikdo neporadí, protože netuší, co chtěl tazatel vlastně vyřešit. Jak vidíš, sám jsi nakonec přišel na mnohem jednodušší řešení, které ale mimochodem nepasuje na původní dotaz :)
Překladač ti nikdy neřekne: "budeme kamarádi"
tmr avatar 22.11.2009 16:03 tmr | skóre: 17 | blog: Offtopic | Praha 5
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Mě napadlo, že se na tohle někdo zeptá, až po odeslání dotazu :-) Jinak souhlasím, že je lepší ptát se na původní problém, normálně bych to udělal, teď ale dělám na progamu pro jednu firmu a nemůžu mluvit o tom co přesně dělám.
Konqui avatar 23.11.2009 07:56 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
A o jak dlouhý text se zhruba bude jednat? Napadá mě jedině napsat si vlastní hashovací funkci (pokud to má být rozumně krátké)
Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.
23.11.2009 09:09 kulik
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Vezmi hodnotu hashcode() toho stringu a uprav si ji dle chuti, napriklad pro tento konkretni pripad modulo 10000.
24.11.2009 11:11 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
A není škoda z delšího hashe ztratit jeho část ? Nebylo by lepší (ale jistě pomalejší) hash rozdělit na dvě půlky (a teď nemyslim vydělit dvěma, ale z 1234 udělat 12 a 34). Tu větší od té menší odečíst (nebo naopak a potom dostat absolutní hodnotu z toho)) a dělat to do té doby, než nedostaneme potřebnou délku hashe ?
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 16:22 kulik
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
To netusim, zda by to bylo lepsi, nikde se neuvadi, k cemu to ma slouzit. Taky se to muze prevest do dvacitkove soustavy a pouzivat misto cislic pismena abecedy, to snad uz kazdeho napadne, co se s cislem da vsechno delat. Samozrejme pokud to ma byt nejak super bezpecne, tak by se mel pouzit nejaky salt apod., ale to z dotazu nevyplyva.
23.11.2009 18:33 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Příloha:

Tak jsem ti něco malýho napsal, protože jsem se nudil. Koukni na to. Jinak by to měl bejt jednosměrnej algoritmus (neměla by se dát napsát funkce, která z čísla udělá string).

public static double getHash(String s, int lenght) {
        Double tmp = new Double(0);
        for (int i = 0; i < s.length(); ++i) {
            char c = s.charAt(i);
            int j = (int) c;
            tmp += j;
        }

        while (tmp < Math.pow(10, lenght - 1) || tmp > Math.pow(10, lenght)) {
            if (tmp >= Math.pow(10, lenght)) {
                //System.out.println("vetší než " + Math.pow(10, lenght));
                double zbytek = tmp % 2;
                tmp = ((tmp / 2) + zbytek)- (zbytek / 2);
            }
            if (tmp < Math.pow(10, lenght-1)) {
                //System.out.println("menší než " + Math.pow(10, lenght-1));
                tmp = tmp * 2;
            }
        }
        return tmp;
    }
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
23.11.2009 22:34 kuka
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
No tohle je myslim tak trochu odstrasujici priklad, jak podobnou vec neimplementovat. Proc je napriklad promenna tmp Double a ne double? Proc ten hash neni celociselny?
23.11.2009 23:01 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
No tohle je myslim tak trochu odstrasujici priklad, jak podobnou vec neimplementovat

Je to čístě nástřel. Zajímala by mne vaše implementace, když tahle je odstrašující.

Proc je napriklad promenna tmp Double a ne double?

S tim Double máte pravdu, to jsem tam nechal omylem (předtím jsem to tam měl úmyslně).

Proc ten hash neni celociselny?

Hash je celočíselný, ale typu double. Snad napsat return (int)tmp; a přepsat předpis metody dotazující zvládne.



Jenom teď ještě řeším,že pro podobné stringy to hází dost podobné hashe. Ještě pošlu druhou verzi, kde bude tohle ošetřeno.

Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
23.11.2009 23:23 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Příloha:
Tak prosim, teď už to hází pro podobné odlišné "hashe". Můžete hodnodit pane Kuka. Vaše postřehy jsem vzal na vědomí a opravil.
public static int getHash(String s, int lenght) {
        int usedLenght = lenght + 1;
        double tmp = 0;
        for (int i = 0; i < s.length(); ++i) {
            char c = s.charAt(i);
            int j = (int) c;
            tmp += j;
        }

        tmp = Math.abs(Integer.reverse((int)tmp));

        while (tmp < Math.pow(10, usedLenght - 1) || tmp > Math.pow(10, usedLenght)) {
            if (tmp >= Math.pow(10, usedLenght)) {
                int zbytek = (int)(tmp % 2);
                tmp = ((tmp / 2) + zbytek) - (zbytek / 2);
            }
            if (tmp < Math.pow(10, usedLenght - 1)) {
                tmp = tmp * 2;
            }
        }
        
        return (int) (tmp / 10.0);
    }
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 08:29 kuka
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Proc vymyslet kolo. Existuji ruzna doporuceni, jak pocitat haskody retezcu tak, aby mely pokud mozno pekne vlastnosti (napriklad aby prehozeni pismen vedlo na ruzny haskod, coz trivialni scitani znaku nesplnuje) - podivej se treba, jak se pocita hashcode pro tridu String, zdrojaky jsou napriklad pro Sun implementaci k dispozici. Realizovat celociselne operace v typech s plovouci carkou samozrejme ciste technicky lze (dokud nejsou cisla moc velka), ja to ale povazuji za spatny programatorsky postup, protoze to neni logicke.
24.11.2009 10:43 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Přílohy:
Proc vymyslet kolo.

Na 100% souhlasim. Já tu metodu vymýšlim čístě ze zvědavosti.

prehozeni pismen vedlo na ruzny haskod, coz trivialni scitani znaku nesplnuje

Po malé úpravě (viz. příloha) splňuje. Ale trochu se stydím, že mě to nenapdalo hned (a hlavně samo od sebe).

Realizovat celociselne operace v typech s plovouci carkou samozrejme ciste technicky lze (dokud nejsou cisla moc velka), ja to ale povazuji za spatny programatorsky postup, protoze to neni logicke.

Javu se teprve učím. Normálně programuji v jazycích kde se datové typy moc neřeší (hlavně PHP). Upravil jsem metodu, aby celou dobu pracovala s celočíselnými datovým typem. Takhle vám to příjde logicky správné už ?

 

podivej se treba, jak se pocita hashcode pro tridu String, zdrojaky jsou napriklad pro Sun implementaci k dispozici

Kouknul jsem, implementoval jsem sám ze zvědavosti. Má to však pro zadání (pevná délka a asi by autor chtěl pouze kladná čísla) nějáké mouchy.

Jinak děkuji za poznámky. Rád se něco přiučím.

 

 

Jen pro srovnání, jsem změřil NetBeans profilerem rychlosti všech tří hashů (můj originální - getHash, moje implementace hashCode - hashCode a originální hashCode - origHashCode). Výsledky jsem přiložil jako obrázek.

 

 

public static long getHash(String s, int lenght) {
        int usedLenght = lenght + 1;
        long tmp = 0;
        for (int i = 0; i < s.length(); ++i) {
            char c = s.charAt(i);
            int j = (int) c;
            tmp += (j*(i+1));
        }

        tmp = Math.abs(Integer.reverse((int)tmp));

        while (tmp < Math.pow(10, usedLenght - 1) || tmp > Math.pow(10, usedLenght)) {
            if (tmp >= Math.pow(10, usedLenght)) {
                int zbytek = (int)(tmp % 2);
                tmp = ((tmp / 2) + zbytek) - (zbytek / 2);
            }
            if (tmp < Math.pow(10, usedLenght - 1)) {
                tmp = tmp * 2;
            }
        }
        
        return (tmp / 10);
    }
public static int hashCode(String s) {
        int hash = 0;

        for(int i =0; i < s.length(); i++) {
            hash = hash + s.charAt(i) * (int)Math.pow(31, s.length() - (i + 1));
        }

        return hash;
    }
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 09:53 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Můžu vědět, proč v tomto řádku odčítaš na konci tu nulu?

tmp = ((tmp / 2) + zbytek) - (zbytek / 2);
Překladač ti nikdy neřekne: "budeme kamarádi"
24.11.2009 11:01 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Příloha:

Máte uplnou pravdu, je to zbytečné. Teď to opravdu postrádá smysl. Kód jsem opravil. V podstatě jsem došel sám ke stejnému výpočtu, jako je originální javovský String.hashCode. Rozdíl je skoro jen v tom, že já používám:

hash += s.charAt(i)*(i+1);

a originál Sun metoda hashCode:

hash += s.charAt(i) * (int)Math.pow(31, lenght - (i + 1));

Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 10:02 l4m4
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Toto je fakt ultrahnus. Nejhorší na celé věci je, že už komentář 2

http://www.abclinuxu.cz/poradna/programovani/show/285297#2

dává rozumný postup: prostě zkrátit nějaký známý hash dostupný jako knihovní funkce. Ale pán se nudí, a tak ignoruje dobré rady a bez jakékoli znalosti teorie hashovacích funkcí zbastlí jednu nefunkční pomocí výpočtů v polovoucí řádové čárce.
24.11.2009 10:45 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Já se učim, a snažil jsem se vytknuté chyb opravit. Můžete ohodnotit poslední verzi ?
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 11:24 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Především je nesmysl pokoušet hashovací algoritmus jen tak vymyslet od prázdného stolu. Existuje dost popsaných hashovacích algoritmů, u kterých jsou známé jejich vlastnosti – stačí si mezi nimi nějaký vhodný vybrat a ten implementovat. Když budete vymýšlet nějaký algoritmus sám, nejspíš dojdete k něčemu, co bude jako hash fungovat špatně.

Můžete si to srovnat s algoritmy pro řazení. Když ho budete vymýšlet sám, uděláte nějaké řazení vkládáním nebo přinejlepším probublávání, quicksort hned nevymyslí každý. Pro hashovací nebo šifrovací funkce to platí ještě mnohonásobně víc.
24.11.2009 11:30 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Jak už jsem psal. Souhlasím že je 100% nesmysl "znovu vynalézat kolo". Jen jsem po přečtení dotazu dostal chuť si to vyzkoušet. Jak jsem psal, s Javou začínám (ve škole). Každá příležitost něco udělat a nechat si to okomentovat někým, kdo javu umí (u nás ve škole to snad pořádně neumí ani ten cvičící), je pro mne cenná.
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 11:52 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Ale co jste si chtěl vyzkoušet? Napsat nějaký kód, který dělá bůhvíco, nebo napsat hashovací funkci? Pokud ten druhý případ, stejně potřebujete najít nějaké hashovací algoritmy, které pak budete implementovat. Programování neznamená, že budete hlava nehlava psát nějaký kód; umět najít správný algoritmus nebo už existující kód je stejně důležité.
24.11.2009 12:10 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Příloha:
Ještě jsem opravil poslední chybičku (snad už) a opravdu teď nevím, proč můj algoritmus nevyhovuje zadání. Opravdu nejde o implementaci dokonalého hashování, jen o studentskou zvědavost (a opravdu to funguje). Používám téměř stejný hashovací algoritmus jako originální String.hashCode a došel jsem k němu sám, z toho mám radost. Pro nic víc jsem se nesnažil.
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 13:40 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Došel jste k něčemu sám, a vůbec netušíte k čemu, netušíte, jak se ten váš algoritmus chová. Váš algoritmus pouze převádí čísla z 216 soustavy do desítkové soustavy modulo 232. Proč tam je Long.reverse() nechápu vůbec. Váš algoritmus se od algoritmu použitého v Javě dost podstatně liší – ovšem je pravda, že ty algoritmy jsou co do míry hashování srovnatelné. Myslím, že pro oba dva nebude problém napsat inverzní funkci (která vrátí některý z možných vstupů), implementace String.hashCode() ve skutečnosti hashuje jenom podle pravých 7 znaků, další znaky se k hashi prakticky jen přičtou (takže u ASCII textu se osmý a další znak zprava promítnou jen do dolních 7 bitů hashe).

Pokud to celé má sloužit jako bezpečnostní kód, použil bych nějakou prověřenou hashovací funkci (SHA nebo klidně i MD5), výsledek bych rozdělil na skupiny bitů požadované délky a z těch bych XORováním udělal jednu skupinu požadované délky.
24.11.2009 14:15 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Nemyslím se že je napsat funkci inverzní (k té mé) taková jednoduchá záležitost. Long.reverse() jsem tam zapojil, protože to hodně změní hashe pro podobné stringy. A máte pravdu, že podobné hashování bere pořádně v potaz jen x znaků (v mém případě zleva). Zkusím se zamyslet a vymyslet něco pořádnějšího, až bude trochu času. Mám se ještě co učit v tomhle oboru.

Jinak já osobně používám SHA s proměnou "solí" kde to jde (hesla a tak).
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
24.11.2009 15:21 Filip Jirsák | skóre: 66 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
To, že desítkové vyjádření vypadá „různě“, ještě nic neznamená. Tím, že otočíte pořadí bitů, hash skutečně nijak nevylepšíte – tedy za předpokladu, že jde o kvalitní hash, který bity vstupu distribuuje opravdu co nejvíce náhodně.
24.11.2009 17:30 retroslava | skóre: 8 | blog: TryCatch | Žižkoff
Rozbalit Rozbalit vše Re: Java - jak vygenerovat hash určité délky
Jo jo. Já už tuším kam celou dobu míříte. Máte pravdu. Díky za poučení, zkusim to víc nastudovat. Právě koukám na MD5. Ještě jednou díky za konstruktivní kritiku a užitečné informace, to dneska poskytne málokdo.
Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.

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.