On 30 Aug 2013, at 13:39, Marcus Denker <[email protected]> wrote:
> > On Aug 30, 2013, at 1:35 PM, Esteban Lorenzano <[email protected]> wrote: > >> I'm not aware of such a change... >> this is probably an error/side effect of something else. >> > This is a side effect of the merging of the two nearly identical but > duplicated SHA1 implementations in the image⦠> > https://pharo.fogbugz.com/f/cases/5469/SHA1-duplicated-implementations I want to wait for Max to respond/explain. But according to http://en.wikipedia.org/wiki/Sha1 "SHA-1 produces a 160-bit (20-byte) hash value. A SHA-1 hash value is typically expressed as a hexadecimal number, 40 digits long." The previous contract of returning a ByteArray of size 20 is more correct than an Integer, although both are mathematically equivalent. It is also very easy to send #hex to a ByteArray to get the most common human representation of such a hash. >> Esteban >> >> On Aug 29, 2013, at 3:05 PM, Sven Van Caekenberghe <[email protected]> wrote: >> >>> Max, >>> >>> Why was the contract of SHA1>>hashStream: changed ? >>> >>> It used to return a ByteArray like other HashFunction subclasses, now it >>> returns an Integer. I see that you also changed the tests with this >>> assumption. >>> >>> MD5 hashMessage: 'foo'. >>> >>> #[172 189 24 219 76 194 248 92 237 239 101 79 204 196 164 216] >>> >>> SHA1 hashMessage: 'foo'. >>> >>> 68123873083688143418383284816464454849230703155 >>> >>> It broke Zinc-WebSockets in 3.0 and now I will have to do an ugly hack to >>> make the code work on multiple Pharo versions. >>> >>> Can you please explain ? >>> >>> Sven >> >> >
