I googled found that sha256 needs aes provider. I'm not sure if that will need privilege, please try it by yourself.
[1] http://nagareshwar.securityxploded.com/2010/10/22/cryptocode-generate-sha1sha256-hash-using-windows-cryptography-library/ Пт, 06 сен 2013, Pascal Jasmin писал(а): > the change produces some success. It turns out I had the wrong value for > ALGid (2nd param) > > I get success with passing the CALG_ID value for SHA1, but SHA256 (32780) > seems to fail on my system > > CryptCreateHash ({. a2) ; 32772 ; 0 ; 0 ; (m=. , _1) NB. SHA1 hash > > > > > ----- Original Message ----- > From: bill lam <[email protected]> > To: [email protected] > Cc: > Sent: Friday, September 6, 2013 10:32:17 AM > Subject: Re: [Jprogramming] SHA 256 > > I guess it should be > > CryptCreateHash =: 'advapi32.dll CryptCreateHash i x i i i *x' & cd > CryptCreateHash ({.a); ALG_SID_SHA_256; 0 ; 0 ; (m=.,_1) > > untested. > Пт, 06 сен 2013, Joe Bogner писал(а): > > I haven't worked out all the signatures, but I noticed that > > CryptAcquireContext was returning zero in your version > > > > This version returns 1 and correctly populates a value in a > > > > CryptAcquireContext =: 'advapi32.dll CryptAcquireContextA i *x *c *c i i' & > > cd > > CryptAcquireContext (a=.,_1);(<0);(<0);PROV_RSA_FULL;CRYPT_VERIFYCONTEXT > > > > I haven't been able to use that context in CryptCreateHash yet > > > > I was thinking that I could do this: > > > > CryptCreateHash =: 'advapi32.dll CryptCreateHash i *x i i i *x' & cd > > CryptCreateHash a; ALG_SID_SHA_256; 0 ; 0 ; (m=.,_1) > > > > Yet that's returning 0 and m is _1 > > > > > > > > > > On Fri, Sep 6, 2013 at 7:31 AM, Henry Rich <[email protected]> wrote: > > > > > On rereading, I think I am wrong here. Ignore this. > > > > > > Henry Rich > > > > > > > > > On 9/6/2013 5:22 AM, Henry Rich wrote: > > > > > >> I'm looking at > > >> > > >> CryptCreateHash =: 'advapi32.dll CryptCreateHash i *i i i i *i' & cd > > >> err =. CryptCreateHash (<a); ALG_SID_SHA_256 ; 0 ; 0 ; (<<h) > > >> > > >> and I don't understand why this doesn't give an error on parameters a > > >> and h. They correspond to *i descriptors, but they are scalar boxes. I > > >> thought they needed to be scalars, so I would use > > >> > > >> err =. CryptCreateHash a; ALG_SID_SHA_256 ; 0 ; 0 ; h > > >> > > >> Similar cases later on > > >> > > >> > > >> Untested. > > >> > > >> Henry Rich > > >> > > >> On 9/6/2013 12:10 AM, Pascal Jasmin wrote: > > >> > > >>> I'm trying to get sha256 from microsoft's library working. > > >>> > > >>> MS documentation on the last call in my function: > > >>> http://msdn.microsoft.com/en-**us/library/windows/desktop/** > > >>> aa379947(v=vs.85).aspx<http://msdn.microsoft.com/en-us/library/windows/desktop/aa379947(v=vs.85).aspx> > > >>> > > >>> > > >>> The problem is that the 3rd param to CryptGetHashParam is a pointer to > > >>> a byte array, and should hold the hash result, but I'm unable to see > > >>> it change. The 2nd param in CryptHashData may also be called > > >>> incorrectly here. > > >>> > > >>> any help? > > >>> > > >>> > > >>> ALG_SID_SHA_256 =: 12 > > >>> ALG_CLASS_HASH =: 32768 > > >>> PROV_RSA_FULL =:1 > > >>> PROV_RSA_AES =: 24 > > >>> HP_HASHVAL =: 2 > > >>> CRYPT_VERIFYCONTEXT =: 4026531840 > > >>> CryptAcquireContext =: ('advapi32.dll CryptAcquireContextA i *i c c i > > >>> i') & cd > > >>> NB.(ByRef phProv As Long, ByVal pszContainer As String, ByVal > > >>> pszProvider As String, ByVal dwProvType As Long, ByVal dwFlags As Long) > > >>> CryptReleaseContext =: 'advapi32.dll CryptReleaseContext i i i' & cd > > >>> NB. (ByVal hProv As Long, ByVal dwFlags As Long) As Long > > >>> CryptCreateHash =: 'advapi32.dll CryptCreateHash i *i i i i *i' & cd > > >>> NB.(ByVal hProv As Long, ByVal Algid As Long, ByVal hKey As Long, > > >>> ByVal dwFlags As Long, ByRef phHash As Long) As Long > > >>> CryptDestroyHash =: 'advapi32.dll CryptDestroyHash i i' & cd > > >>> NB.(ByVal hHash As Long) As Long > > >>> CryptHashData =: 'advapi32.dll CryptHashData i *i *c i i' & cd > > >>> NB.(ByVal hHash As Long, pbData As Any, ByVal cbData As Long, ByVal > > >>> dwFlags As Long) As Long > > >>> CryptGetHashParam =: 'advapi32.dll CryptGetHashParam i *i i *c *i i' & > > >>> cd > > >>> NB.(ByVal hHash As Long, ByVal dwParam As Long, pbData As Any, ByRef > > >>> pcbData As Long, ByVal dwFlags As Long) As Long > > >>> > > >>> > > >>> > > >>> CreateHash =: 3 : 0 > > >>> a =. mema 8 > > >>> h =. mema 128 > > >>> o =. mema 32 > > >>> > > >>> err=. CryptAcquireContext (<a);' ';' ';PROV_RSA_FULL;CRYPT_** > > >>> VERIFYCONTEXT > > >>> err =. CryptCreateHash (<a); ALG_SID_SHA_256 ; 0 ; 0 ; (<<h) > > >>> y memw o, 0 , # y > > >>> CryptHashData (<h) ; (y) ; (# y) ; 0 > > >>> CryptGetHashParam (<h); HP_HASHVAL ; (<o ); (,32) ; 0 > > >>> NB. memr o, 0, # y > > >>> ) > > >>> > > >>> > > >>> vb code that i adapted this from: > > >>> http://khoiriyyah.blogspot.ca/**2012/06/vb6-hash-class-md5-** > > >>> sha-1-sha-256-sha.html<http://khoiriyyah.blogspot.ca/2012/06/vb6-hash-class-md5-sha-1-sha-256-sha.html> > > >>> > > >>> ------------------------------**------------------------------** > > >>> ---------- > > >>> For information about J forums see > > >>> http://www.jsoftware.com/**forums.htm<http://www.jsoftware.com/forums.htm> > > >>> > > >>> ------------------------------**------------------------------** > > >> ---------- > > >> For information about J forums see > > >> http://www.jsoftware.com/**forums.htm<http://www.jsoftware.com/forums.htm> > > >> > > >> ------------------------------**------------------------------** > > > ---------- > > > For information about J forums see > > > http://www.jsoftware.com/**forums.htm<http://www.jsoftware.com/forums.htm> > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > -- > regards, > ==================================================== > GPG key 1024D/4434BAB3 2008-08-24 > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
