I langt de fleste tilfælde? Afhænger det af hvad der i din vilkårlige streng eller hvad???
Umiddelbart ser det jo fornuftigt nok ud. Jeg kan kun se det kan gå galt i din "signature = new String(test);" da det faktisk er den tildeling du ender med at lave sammenligning på.
Der står noget om padding i digest funktionen, og uden at vide en masse om det, så kunne man forestille sig at denne padding kommer med tilbage i en "new String" operation.
Resultatet afhænger af hvad der står i strengen fx. "aaa" giver true, men "En eller anden vilkårlig streng" giver false.
Som du siger ser det ud til, at det er "signature = new String(test);" der laver ulykker.
MessageDigest returnerer "extended chars", så jeg kunne forestille mig at det er karaktersættet der giver problemer ved konvertering fra byte Array til String.
Jeg ved man kan specificerer karaktersættet ved init af strengen fx. "signature = new String(test, "Cp850")" men det ser heller ikke ud til at virke, og jeg aner ikke hvilket karaktersæt jeg i givet fald skulle bruge.
/Jesper
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.