I've updated my SHA256/512 password hashing library to Pharo 5's FFI and moved it from SS3 to GH .
In the GH repo, C source files are in the src-c directory. Compile with the Makefile there. Move the .so or .dylib file to where the VM can find it.
To load the Smalltalk code, in a Pharo playground:
Metacello new baseline: 'PasswordCrypt'; repository: 'github://PierceNg/PasswordCrypt/src-st'; load.
Run the tests in TestRunner. Provided the Pharo VM can find the shared library, all 12 tests should pass.
This version adds an authentication database that uses in-image persistence, accessed programmatically via the PCAuthenticator uniqueInstance, and a very simple user interface invoked thusly:
PCAuthenticatorUI new openWithSpec
Currently PCAuthenticator hardcodes to SHA256. It should be straightforward to make the hashing algorithm pluggable, including from other shared libraries. Hosting on GH makes it easier for forks and PRs.
Tags:cryptography, security .