I’m finding incredibly hard to find a Whirlpool2 hashing implementation. Could someone point me in the right direction?
I couldn’t find an Elixir library that supports it so far and the closest I got to finding something useful was the C, Go and Ruby (C wrapper) versions.
PS.: I received this specification from the owner of a platform I have to integrate with and I need to generate password hashes in the same way his service does. I couldn’t find references for “Whirlpool2” exactly, so I’m guessing is the second revision of the algorithm (Whirlpool-T).
Pure Elixir implementation will be pretty slow. Your best choice is to use NIF. OpenSSL do not support Whirlpool IIRC so you either need to use C library or you can check out other languages “closer to the metal” languages like Zig or Rust.
Long time ago I have been working on crypto library in Rust (maybe some day I will go back to that) and I have implemented Whirlpool hash function as well:
You can check that out and maybe provide NIF for that via Rustler.