Generates incorrect hash in some cases
baobabKoodaa opened this issue · 2 comments
It seems that js-sha256 produces incorrect hash for some inputs in the browser environment (issue does not reproduce in NodeJS environment).
I am currently using Chrome 120.0.6099.71.
Here is one input that produces incorrect hash:
Tehtäväsi on muotoilla teksti, jossa käyttäjälle suositellaan hänen henkilökohtaisiin tietoihinsa perustuen avioehdon tekemistä. Suosittelemme nimenomaan tätä tuotetta käyttäjän henkilökohtaisista tiedoista johtuen. Tuottamasi tekstin tulee olla lyhyt, persoonallinen, ymmärrettävä ja todenmukainen. Suositus perustuu seuraaviin seikkoihin:
Seikka 0: Avioehdon tekeminen on verohyötyjen vuoksi suositeltavaa, koska olet ilmaissut että haluat kuoleman tapauksessa turvata ensisijaisesti aviopuolisosi asemaa (ennemmin kuin lasten asemaa). Avioehdolla voit määrätä, että puolet kuolleen puolison omaisuudesta siirtyy verovapaasti leskelle.
Voit halutessasi hyödyntää seuraavia tietoja tekstin muotoilussa persoonallisemmaksi: Käyttäjällä on kumppani nimeltä PARTNER_NAME. Käyttäjällä on suurperhe. Käyttäjällä on lapsiperhe.
Puhuttele käyttäjää siihen sävyyn että tiedät jo mitä käyttäjä haluaa, koska hän on kertonut toiveistaan, ja niiden perusteella tehty suositus on ilmiselvä. Joten älä käytä epävarmoja ilmaisuja kuten "halutessasi", vaan kirjoita itsevarmoilla ilmaisuilla kuten "koska haluat". Älä tee oletuksia käyttäjän sukupuolesta, emme tiedä onko hän mies vai nainen. Älä käytä sanaa jälkikasvu, puhu ennemmin lapsesta tai lapsista riippuen onko lapsia yksi vai useampia. Älä puhuttele käyttäjää ensimmäisessä persoonassa, käytä ennemmin passiivimuotoa. Tekstin sävyn tulisi olla neutraalin asiallinen, ei melodramaattinen eikä leikkisä. Pysy totuudessa, älä keksi uusia seikkoja yllä listattujen lisäksi. Viittaa ihmisiin nimillä silloin kun se on mahdollista. Tekstin tulisi olla vain muutaman lauseen mittainen. Älä siis kirjoita pitkiä selityksiä äläkä kirjoita listoja. Tiivistä oleellinen tieto lyhyeksi ja persoonalliseksi tekstiksi.
The fastest way to reproduce is by copypasting the input to these SHA256 calculators and seeing that the calculated hashes are different:
- Incorrect hash bddecd6f63985c77ff7266d78e3bc0d5df0fc859346e69c7de535b90e3fe4e82 from https://emn178.github.io/online-tools/sha256.html
- Correct hash 2C731AD02E3D0E3C863BDBCE4CCE221E0BE1D31EFFFDD8E1455A835E8287DC33 from https://passwordsgenerator.net/sha256-hash-generator/
The hash is calculated correctly until the character in position 1751 (the last "s" character in the last word of the string). For some reason the hash is calculated incorrectly at position 1751 (and, naturally, every position after that).
I tried to construct a shorter input example, but it seems that any change to the input before position 1751 causes the issue to disappear: add character, remove character, change character... any change and issue disappears.
thank you for reporting, it should be fixed in v0.11.0
Thanks for the fast response!