> 2) Proč SpringSecurity (zřejmě) používá při > generování hashí hesel > kódování UTF-8 > Přiznám se že netuším a ani to nechci zkoumat, > protože mi to připadá > jako zcela správné a logické. Mali ste pravdu. Spring pouziva UTF-8. > 3) Vaše metoda nedokáže pracovat s UTF-8 nebo UTF-16 > Konkrétně, na této řádce je špatně počet byte: > > messageDigest.update(_sPassword.getBytes(_sEncoding), 0, > _sPassword.length()); > Metoda String.length vrací počet znaků, zatímco > třetí parametr > MessageDigest.update je počet byte. Tyto dvě hodnoty se > shodují pro > latinX, ale pro UTF bývá počet byte větší. > Oprava: > messageDigest.update(_sPassword.getBytes(_sEncoding)); > > Dále ještě vidím druhou chybu, menší ale o to > záludnější: opravdu > stačí doplňovat jen jedinou nulu na začátek? Co když > bude celý první byte nulový? Sorry, to bol len rychly bugfixing. Povodne som tam doplnanie nul vobec nemala, len som si vsimla, ze heslo, ktore som pouzivala na testovanie - Juengling1§, ma po hashovani len 31 a nie 32 znakov.
Dakujem za pomoc. Podarilo sa mi to rozbehat. Radovana Straube
