Jump to content

Ugochukwu Mmaduekwe

Members
  • Content Count

    79
  • Joined

  • Last visited

  • Days Won

    1

Ugochukwu Mmaduekwe last won the day on May 27

Ugochukwu Mmaduekwe had the most liked content!

Community Reputation

25 Excellent

1 Follower

About Ugochukwu Mmaduekwe

  • Birthday August 29

Technical Information

  • Delphi-Version
    Delphi 10.2 Tokyo

Recent Profile Visitors

214 profile views
  1. Ugochukwu Mmaduekwe

    NumCPULib4Pascal

    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
  2. Ugochukwu Mmaduekwe

    HMAC_SHA256

    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.
  3. 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.
  4. @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?
  5. 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.
  6. Ugochukwu Mmaduekwe

    The Android 64bit deadline warnings have started

    32 or 64bit Lazarus? Trunk or stable release?
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    Really? Do we have to go down this road again? ECDSA (Elliptical Curve DSA) <> EdDSA (Edwards Curve DSA). It has a lot of use cases as ECDSA and it is been used in Monero and Nano to mention but a few.
  12. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    Really? I have seen highly performant programs including media players written in .NET and even JavaScript.
  13. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    This implements just ECDSA using only secp256r1 curve.
  14. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    @Joseph MItzen you just analysed everything perfectly from my point of view. 👍
  15. Ugochukwu Mmaduekwe

    Delphi compiler need to be opensourced

    Yes It is my project and no it doesn't implement Edwards curves.
×