Jump to content

mahgust

Members
  • Posts

    14
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by mahgust

  1. Speaking about plan "B", I hope that NI will change their decision and will provide perpetual licenses again.
    Subscription is a way for big industrial companies, but for individuals, small companies and start-ups it isn't an option.
    Labview was invented as tool for engineers which helps do their job, not just another tool for marketing stuff, it would be nice keep it in mind.

    • Like 2
  2. In carrot and stick method NI chose stick.

    Active IDE improvement and grow, new features lead users to go to newer versions. (Just an example - Win11/Ubuntu/Mac M1 support in time).

    Switching to subscriptions is an option for SW-only products, for HW products going to subscription can be wrong choice imho.

    This is just "engineering" point of view, marketing staff at NI have different one)

  3. Thanks a lot, guys! EVP is working now! md4 md5 sha1 sha224 sha256 sha384 sha512 can be calculated.

    Quite convinient and fast utility for file integrity check can be created in this way.

    Should we point NI to this (hash calc through EVP interface) via Idea Exchange ?

    MD5_my7.png.260bb7164c967e51f1ea8ba2985df09f.png

    MD5_my7.vi

    • Thanks 1
  4. 2 hours ago, Rolf Kalbermatter said:

    Since you don't access the internal elements in the struct at all from LabVIEW you just can treat it all as a pointer sized integer.

    In fact since OpenSSL 1.0.0 all those structs are considered opaque in terms of external users of the API and should never be referenced in any way other than through published OpenSSL functions. In terms of an external API user these contexts are meant to be simply a handle (a pointer to private data whose contents is unknown).

    EVP_MD_CTX_create() creates the context -> just configure it to return a pointer sized integer.

    Then pass this to all other EVP functions again as pointer sized integer.

    And of course don't forget to call the EVP_MD_CTX_free() function at the end to avoid memory leaks. 

     

    //new 3.0 openssl lib has new-free definitions
    mdctx = EVP_MD_CTX_new();
    EVP_MD_CTX_free(mdctx);


    //old 1.0 openssl lib has create-destroy definitions
    mdctx = EVP_MD_CTX_create();
    EVP_MD_CTX_destroy(mdctx);

     

    Lib in LV2014 operates in create/destroy definitions.

    I've tried to implement create-destroy without structure definition only with pointer, but it leads to LV crash. Could you suggest what is wrong with my code ? Thx!

    350255718_Untitled1.png.b4863ee7e7fd35b78089ac5eaca389fd.png

    Untitled 1.vi

  5. 3 hours ago, ShaunR said:

    Yuck. Cmd line :throwpc: Try using the EVP_Digest interface of the NIlibeay32.dll ;) You can even have progress events if you want to be fancy :wub:

    I don't know why NI didn't use it :blink:

    Direct MD5 call was used from NIlibeay32.dll instead of EVP_Digest interface

  6. ShaunR, thanks for the idea sharing!

    Hoovah, code is attached (was deleted because of memory error with large >1GB files, use new version (MD5_my5.vi) posted in message below).

     

     

    • Thanks 1
  7. Hoovah,

    This is quite old topic but it's still very actual.
    Could you upload fast MD5 calc for large files to this topic again ?
    All links above does not working anymore.


    Thanks!

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.