Jump to content

Ugochukwu Mmaduekwe

  • Content Count

  • Joined

  • Last visited

  • Days Won


Ugochukwu Mmaduekwe last won the day on May 27

Ugochukwu Mmaduekwe had the most liked content!

Community Reputation

30 Excellent

1 Follower

About Ugochukwu Mmaduekwe

  • Birthday August 29

Technical Information

  • Delphi-Version
    Delphi 10.2 Tokyo

Recent Profile Visitors

259 profile views
  1. Ugochukwu Mmaduekwe

    Is Embarcadero a jigsaw puzzle game?

    Only if you use the web installer. The ISO installer has always contained the Delphi and C++ Builder Installers in one.
  2. Ugochukwu Mmaduekwe

    AES Encryption - FMX

    Note the key word free in the original poster question.
  3. Ugochukwu Mmaduekwe

    AES Encryption - FMX

    Have you tried CryptoLib4Pascal ?
  4. Ugochukwu Mmaduekwe

    Recommended Cryptographic Library

    Correct me if I am wrong but this will require him to port the headers first of all because the ones I see online are not crossplatform?
  5. Ugochukwu Mmaduekwe

    Recommended Cryptographic Library

    Hi Ivana and welcome to the forum. To answer your question, CryptoLib4Pascal is the complete package and more. The hashes you requested and more can be found here sample for generating Key Pairs with Elliptic curves, signing and verifying can be found here and here AES and Chacha20 sample here Perks of CryptoLib4Pascal Constantly developed and improved Cross Platform and Cross Compiler support used in the real world on various products uses the friendly MIT License Best of all, it's free.
  6. Ugochukwu Mmaduekwe


    NumCPULib4Pascal is a Cross Platform Pascal library to query the number of CPUs (Logical (logical processors) and Physical (cores)) on a machine. Usage Add NumCPULib to uses clause: uses NumCPULib; var lcc, pcc: Int32; begin // count logical cpus (aka logical processors) lcc := TNumCPULib.GetLogicalCPUCount(); // count physical cpus (aka cores) pcc := TNumCPULib.GetPhysicalCPUCount(); end; What is the difference between the existing System.CPUCount and NumCPULib4Pascal? 1. System.CPUCount only reports the LogicalCPU Count (aka logical processors), it has no option to report the PhysicalCPU Count (cores). 2. System.CPUCount will not report the correct value on windows systems with more than 64 logical processors. NumCPULib4Pascal fixes this by querying GetLogicalProcessorInformationEx on these OSes. GitHub Repository NumCPULib4Pascal
  7. Ugochukwu Mmaduekwe


    if you use Berlin upwards, you can use the inbuilt version found here else you can try the code below. you will need this library though program SimpleHMAC; uses SysUtils, HlpHashFactory; var param_str, secret, sign: string; begin try secret := 't7T0YlFnYXk0Fx3JswQsDrViLg1Gh3DUU5Mr'; param_str := 'api_key=B2Rou0PLPpGqcU0Vu2&leverage=100&symbol=BTCUSD&timestamp=1542434791000'; sign := THashFactory.THMAC.CreateHMAC(THashFactory.TCrypto.CreateSHA2_256(), TEncoding.UTF8.GetBytes(secret)).ComputeString(param_str, TEncoding.UTF8).ToString(); WriteLn(LowerCase(sign)); ReadLn; except raise; end; end.
  8. Well, have you tried Mormot's implementation? https://github.com/synopse/SynPDF/blob/master/SynCrypto.pas You can also try HashLib4Pascal if you want. https://github.com/Xor-el/HashLib4Pascal/ Also you can try out Wolfgang Ehrhardt aka Gammatester (RIP) excellent Hash libraries which contains HMAC implementations too. http://www.wolfgang-ehrhardt.de/crchash_en.html These are guaranteed to work on Delphi 2010 and above and don't require any external DLLs for as long as I remember.
  9. @Clément, To be sincere, I tend to keep pointer constructs to a minimum (to be on the safe side) since the size of integers varies on a various platforms supported by Delphi. Also any reason why you reimplemented HMAC when it is supported in modern Delphi versions?
  10. Ugochukwu Mmaduekwe

    The Android 64bit deadline warnings have started

    Well I use Lazarus on Windows and Linux and it is quite stable (especially on Linux), I think the issue you are experiencing may be related to just Mac OSX. Can you try to install the trunk version using fpcdeluxe? Your issue might have been fixed there.
  11. Ugochukwu Mmaduekwe

    The Android 64bit deadline warnings have started

    32 or 64bit Lazarus? Trunk or stable release?
  12. Inline is a way to hint the compiler to avoid calling a method and instead take the contents of that method and place it at the call site.
  13. Ugochukwu Mmaduekwe

    Win XP app fails to start -- missing bcrypt.dll

    This might have something to do with newer OpenSSL Dlls switching from using the Legacy CryptoAPI to using BCryptGenRandom for generating OS Random numbers.
  14. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    Lol, at least we now agree on a common fact that for now Delphi doesn't have a PurePascal EdDSA implementation.
  15. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    Seems you have made up your mind that nothing good and optimal can come out of non native code. In this case, there is very little I can say to convince you otherwise. By the way, the current media player I use is written in JavaScript and it runs beautifully for me on both my Windows and Linux boxes.