[Mono-dev] Correction to System.Security.Cryptography.Rfc2898DeriveBytes.cs
sebastien.pouliot at gmail.com
Thu Mar 22 17:05:39 EDT 2007
On Thu, 2007-03-15 at 13:09 -0400, Sebastien Pouliot wrote:
> On Thu, 2007-03-15 at 09:18 -0700, Roei Erez wrote:
> > Hello,
> > The method 'private byte F (byte s, int c, int i)' uses
> > BitConverter.GetBytes(int num).
> > This usage is machine dependant, which depends on if the machine works
> > as big endian or little endian..
> > I think, althogh not sure, that the better way is to use
> > BitConverterLE.GetBytes(int num) or calculate the bytes manually using
> > bitwise operations.
> > Attached is a patch for this.
> > Do you agree?
> Make sense, but please wait before committing the fix (unless you have
> unit tests that trigger this condition). I'll look at the source ASAP.
I made a unit test and little endian + reverse was correct (if complex).
I committed (SVN r74843) a different fix, without BitConverter[LE] +
Reverse and, more importantly, without F allocating over and over the
same memory block.
Thanks for spotting this!
p.s. oops, I also added the tests to our build :|
Sebastien Pouliot <sebastien at ximian.com>
More information about the Mono-devel-list