Hi Harbs, What do you mean that is doesn't work ? We are using MD5Stream in the MD5CompareUtil [1] of the installer and it seems to be working pretty well. Do you get some strange results ?
[1] https://github.com/apache/flex-utilities/blob/develop/flex-installer/installer/src/org/apache/flex/packageflexsdk/util/MD5CompareUtil.as Thanks, Piotr 2017-11-27 12:54 GMT+01:00 Harbs <[email protected]>: > It turns out that MD5 is completely broken. > > My theory was that it should migrate from the Flash version and BinaryData > should have been a drop-in replacement or ByteArray. > > Well, the theory didn’t work out and I spent a long time trying to figure > out why it’s broken. It seems to be broken in both Flash and JS runtimes. > For kicks, I tried the MD5Stream version as well and that didn’t work > either. > > I tried various combinations with endians and that did not seem to be like > it. I’m pretty stumped. > > I did manage to successfully incorporate a JS implementation of MD5 in a > Royale class[1] in my project, so I’m personally not stuck on this issue. > > Anyone interested in looking at this? > > Harbs > > [1]https://github.com/blueimp/JavaScript-MD5 <https://github.com/blueimp/ > JavaScript-MD5> > > On Nov 27, 2017, at 1:18 PM, [email protected] wrote: > > > > This is an automated email from the ASF dual-hosted git repository. > > > > harbs pushed a commit to branch develop > > in repository https://gitbox.apache.org/repos/asf/royale-asjs.git > > > > > > The following commit(s) were added to refs/heads/develop by this push: > > new ae6da3c Added failing test for MD5 > > ae6da3c is described below > > > > commit ae6da3c1bb3f663c641153b7b3b60f6d8a90b54b > > Author: Harbs <[email protected]> > > AuthorDate: Mon Nov 27 13:18:38 2017 +0200 > > > > Added failing test for MD5 > > --- > > .../src/main/royale/flexUnitTests/CoreTester.as | 3 +- > > .../{CoreTester.as => core/MD5Test.as} | 50 > ++++++++++++++-------- > > 2 files changed, 33 insertions(+), 20 deletions(-) > > > > diff --git > > a/manualtests/UnitTests/src/main/royale/flexUnitTests/CoreTester.as > b/manualtests/UnitTests/src/main/royale/flexUnitTests/CoreTester.as > > index 9af36e3..5ce4e9a 100644 > > --- a/manualtests/UnitTests/src/main/royale/flexUnitTests/CoreTester.as > > +++ b/manualtests/UnitTests/src/main/royale/flexUnitTests/CoreTester.as > > @@ -27,7 +27,7 @@ package flexUnitTests > > public function CoreTester() > > { > > // for JS, force-link these classes in the output > > - var arr:Array = [StrandTesterTest, BinaryDataTesterTest]; > > + var arr:Array = [StrandTesterTest, > BinaryDataTesterTest,MD5Test]; > > } > > > > // in JS, using a class as a type won't include the class in > > @@ -39,5 +39,6 @@ package flexUnitTests > > // better and allow you to define order. > > public var strandTesterTest:StrandTesterTest; > > public var binaryDataTesterTest:BinaryDataTesterTest; > > + public var md5Test:MD5Test; > > } > > } > > diff --git > > a/manualtests/UnitTests/src/main/royale/flexUnitTests/CoreTester.as > b/manualtests/UnitTests/src/main/royale/flexUnitTests/core/MD5Test.as > > similarity index 52% > > copy from manualtests/UnitTests/src/main/royale/flexUnitTests/ > CoreTester.as > > copy to manualtests/UnitTests/src/main/royale/flexUnitTests/ > core/MD5Test.as > > index 9af36e3..20dc46f 100644 > > --- a/manualtests/UnitTests/src/main/royale/flexUnitTests/CoreTester.as > > +++ b/manualtests/UnitTests/src/main/royale/flexUnitTests/ > core/MD5Test.as > > @@ -16,28 +16,40 @@ > > // limitations under the License. > > // > > //////////////////////////////////////////////////////////// > //////////////////// > > -package flexUnitTests > > +package flexUnitTests.core > > { > > - import flexUnitTests.core.* > > - > > - [Suite] > > - [RunWith("org.flexunit.runners.Suite")] > > - public class CoreTester > > - { > > - public function CoreTester() > > + import flexunit.framework.Assert; > > + > > + import org.apache.royale.utils.MD5; > > + > > + public class MD5Test > > + { > > + [Before] > > + public function setUp():void > > { > > - // for JS, force-link these classes in the output > > - var arr:Array = [StrandTesterTest, BinaryDataTesterTest]; > > } > > > > - // in JS, using a class as a type won't include the class in > > - // the output since types are not chcked in JS. It is when > > - // the actual class is referenced that it will be included > > - // in the output. > > - // Is there a reason to use reflection to gather the set > > - // of tests? I would think an array of tests would wokr > > - // better and allow you to define order. > > - public var strandTesterTest:StrandTesterTest; > > - public var binaryDataTesterTest:BinaryDataTesterTest; > > + [After] > > + public function tearDown():void > > + { > > + } > > + > > + [BeforeClass] > > + public static function setUpBeforeClass():void > > + { > > + } > > + > > + [AfterClass] > > + public static function tearDownAfterClass():void > > + { > > + } > > + > > + [Test] > > + public function testHash():void > > + { > > + Assert.assertEquals("Error testing foobaz", " > 80338e79d2ca9b9c090ebaaa2ef293c7",MD5.hash("foobaz")); > > + Assert.assertEquals("Error testing bazfoo", " > b6a013d5e2c00f894584ad577249dbc7",MD5.hash("bazfoo")); > > + Assert.assertEquals("Error testing password1234", " > bdc87b9c894da5168059e00ebffb9077",MD5.hash("password1234")); > > + } > > } > > } > > > > -- > > To stop receiving notification emails like this one, please contact > > ['"[email protected]" <[email protected]>']. > > -- Piotr Zarzycki Patreon: *https://www.patreon.com/piotrzarzycki <https://www.patreon.com/piotrzarzycki>*
