<div dir="ltr"><div><div><div>MD5 (non primitive and with primitive) is broken because it relies on the conversion of Character to SmallInteger so the method shiftBits: <br><br></div>Problem happens at ThirthyTwoBitRegister>>reverseLoadFrom:at:<br><br></div>which is called from MD5NonPrimitive>>proccessBuffer:<br><br></div>Error is: Instance of Character did not understand #bitShift and happened at:<br><br>reverseLoadFrom: aByteArray at: index<br>    "Load my 32-bit value from the four bytes of the given ByteArray<br>starting at the given index. Consider the first byte to contain the most<br>significant bits of the word (i.e., use big-endian byte ordering)."<br><br>    hi := ((aByteArray at: index + 3) bitShift: 8) + ( aByteArray at: index + 2).<br>    low := ((aByteArray at: index + 1) bitShift: 8) + ( aByteArray at: index).<br clear="all"><div><div><div><div><div><div><br>-- <br><div class="gmail_signature">The information contained in this message is confidential and<br>intended to the recipients specified in the headers. If you received<br>this message by error, notify the sender immediately. The<br>unauthorized use, disclosure, copy or alteration of this message<br>are strictly forbidden and subjected to civil and criminal sanctions.<br></div>
</div></div></div></div></div></div></div>