in reply to Re^2: Rewriting a C# Encryption Function
in thread Rewriting a C# Encryption Function
I note that the bytes which the C# is taking the SHA1 of are little-endian UTF-16:
so you're probably best off:// s = '1234' .... byte[] bytes = Encoding.Unicode.GetBytes(s); // bytes = 49, 0, 50, 0, 51, 0, 52, 0
On my x86 (little-endian) machinemy $data = encode("UTF-16LE", .....);
gives $data bytes:my $data = encode("UTF-16", '1234');
which is big-endian complete with BOM. Whereas:0xFE 0xFF 0x00 0x31 0x00 0x32 0x00 0x33 0x00 0x34
gives $data bytes:my $data = encode("UTF-16LE", '1234');
which is little-endian sans BOM; which appears to be what's required.0x31 0x00 0x32 0x00 0x33 0x00 0x34 0x00
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Rewriting a C# Encryption Function
by bkiahg (Pilgrim) on Aug 25, 2008 at 14:26 UTC |