I don't know if I should be apologizing, while getsha1 and getsha1@:, provide the same result, sha1 and sha1@:, do not.
(sha1 hexhash -: getsha1) , 2 32 $ 'abc' 1 (sha1 hexhash -: getsha1) , 2 2 $ 'abc' 1 for some reason this happens: sha1 hexhash 2 32 $ 'abc' da23614e02469a0d7c7bd1bdab5c9c474b1904dc sha1 hexhash 2 2 $ 'abcd' da23614e02469a0d7c7bd1bdab5c9c474b1904dc sha1 hexhash 2 1 $ 'ab' da23614e02469a0d7c7bd1bdab5c9c474b1904dc getsha1 2 1 $ 'ab' da23614e02469a0d7c7bd1bdab5c9c474b1904dc sha1 hexhash 'ab' da23614e02469a0d7c7bd1bdab5c9c474b1904dc Its not critical of course, because a hash of the ravel, or hash of rows are suitable intentional processes. I mentioned it because I didn't know what was going on. sslSha1 'd:/j64-802b/bin/libeay32.dll SHA1 > x *c x *c'&cd sha1 3 : 0 sslSha1 (y);(#y);md=. 20#' ' md ) >From the above, I see the problem. #y behaves differently for a list than an >item. Solved by replacing with sha12=: 3 : 0 sslSha1 (y);(# , y);md=. 20#' ' md ) The other issue I was bringing up though is that obtaining the raw binary hash is faster, and more flexible if you don't want hex. ----- Original Message ----- From: bill lam <[email protected]> To: Programming forum <[email protected]> Cc: Sent: Tuesday, July 15, 2014 10:33:30 PM Subject: Re: [Jprogramming] md5 so getsha1 of qt agrees with openssl, the issue you reported was irrelevant to qt and openssl. On Jul 16, 2014 6:57 AM, "'Pascal Jasmin' via Programming" < [email protected]> wrote: > matches sha1 hexhash , aa too. > > > ----- Original Message ----- > From: bill lam <[email protected]> > To: Programming forum <[email protected]> > Cc: > Sent: Tuesday, July 15, 2014 6:39:28 PM > Subject: Re: [Jprogramming] md5 > > both getsha1 aa and getsha1 ,aa return the same result so that I am OK with > it. ymmv. > On Jul 16, 2014 4:48 AM, "'Pascal Jasmin' via Programming" < > [email protected]> wrote: > > > I'm unsure how qt gets distributed on other platforms, but on windows, at > > least with J, the same dll as openssl's hash/encryption function is > placed > > in the bin folder, and the strategy of hoping openssl exists on other > > target systems seems reasonable. > > > > there is a difference in the hash obtained from the direct openssl > > function and the libjqt function when you apply it to a multiitem shape. > > It is the same when you do sha of rank1 sha... so one of us probably has > > fills messing things up. > > > > aa =.'asf',"1 (65+ 26 26 26 #:"1 0 i. 26^3) { a. > > sha1 hexhash sha1"1 hexhash aa > > 2ab12374f4827925d7c3260aa22fe96e3b08fcbe > > getsha1 getsha1"1 aa > > 2ab12374f4827925d7c3260aa22fe96e3b08fcbe > > > > sha1 hexhash aa > > b600048b4943c0264408c56c7c8b392207da1cff > > getsha1 aa > > 8b3b7e7cdee149043fcfd5cc5adf67b355d2bd32 > > > > The openssl version returns raw binary rather than hex. So its faster if > > the raw binary is useful, or if you would want a transformation (decimal, > > list of 32/64 bit integers, base64/128) other than hex. > > > > > > ts 'sha1"1 aa' > > 9.13521/sec 0.530048MB > > ts 'sha1 hexhash"1 aa' > > 2.20878/sec 1.06778MB > > ts 'getsha1"1 aa' > > 2.69064/sec 1.05856MB > > > > > > > > > > ________________________________ > > From: chris burke <[email protected]> > > To: Programming forum <[email protected]> > > Sent: Tuesday, July 15, 2014 3:34:15 PM > > Subject: Re: [Jprogramming] md5 > > > > > > The code is from Qt. > > > > From the docs, http://qt-project.org/doc/qt-5/QCryptographicHash.html, > Qt > > 5.2 supports MD4, MD5, SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512, so > > your first two can easily be added, except on Linux where we are still > > using Qt 4.8. > > > > > > On Tue, Jul 15, 2014 at 9:19 AM, 'Pascal Jasmin' via Programming < > > [email protected]> wrote: > > > > > May I suggest also sha256 sha512 and ripemd160? > > > > > > I assume the underlying code is from openssl. The reason I did not > > > include md5 there is that it has been baptised insecure/compromised by > > the > > > wiki lords http://en.wikipedia.org/wiki/Cryptographic_hash_function > > . The > > > paper describing the collision attack on md5: > > > http://eprint.iacr.org/2009/223.pdf. Its not a craft any replacement > > > attack/weakness by any means, but its enough to discourage its use in > the > > > same sense that "no one ever got fired for buying IBM". > > > > > > > > > > > > ________________________________ > > > From: chris burke <[email protected]> > > > To: Programming forum <[email protected]> > > > Sent: Tuesday, July 15, 2014 11:11:01 AM > > > Subject: Re: [Jprogramming] md5 > > > > > > > > > getmd5 will be in the next release of JQt (getsha1 is already there). > > > > > > AFAIK, convert/misc/md5 only works on 32-bit. > > > > > > > > > On Mon, Jul 14, 2014 at 7:10 PM, Raul Miller <[email protected]> > > > wrote: > > > > > > > I've been using the convert/misc/md5 addon, but it is rather slow. > > > > > > > > Using it on a 140k string on a moderately sized box was taking > between > > 6 > > > > and 7 seconds. And I've got a lot of strings for it to grind through > > > (many > > > > gigabytes). > > > > > > > > So I decided I wanted to use compiled code. And, since we don't have > a > > J > > > > compiler (yet), I decided to use C: > > > > > > > > The first thing I did was look at the source for the md5 on an ubuntu > > > > system. That's in coreutils, and it was something of a mess. > > > > > > > > After backing off from trying to extract the useful parts of that as > a > > > > shared library, I found that RFC 1321 contains a reference > > implementation > > > > (which looks like it was the basis for the mess I was trying to work > > > > with*). That was clean enough that I could rather easily extract it, > > > build > > > > it, and get it to work. > > > > > > > > The result is at https://github.com/rdm/libmd5.so > > > > > > > > The J test suite ( > > > https://github.com/rdm/libmd5.so/blob/master/md5test.ijs > > > > ) > > > > was also extracted from RFC 1321, except for a couple lines which > > define > > > > the interface to the compiled code). > > > > > > > > Note that I'm using this with j602 (the 32 bit version), because > that's > > > the > > > > only version where the sax xml parsing works. And, I've only tested > it > > on > > > > ubuntu 14.04 lts. But if someone else needs a fast md5 > implementation, > > > > perhaps it won't be too much work to get this working on whatever > > system > > > > you work with. > > > > > > > > FYI, > > > > > > > > -- > > > > Raul > > > > > > > > * P.S. I say "mess" because it has been loaded down with so many > layers > > > of > > > > config toolchain and abstraction that it's really hard to find where > > > > anything happens. That's fine for some contexts, but useless for > > others. > > > > > ---------------------------------------------------------------------- > > > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
