Swift-native implementations of SQRL's enhash and enscrypt functions using Apple's crypto frameworks.
Warning: Until macOS 10.15 is stable enough to work on, enscrypt
uses insecure strings to represent the password for testing purposes. This will be replaced with the CryptoKit-provided SymmetricKey
struct.
Pointer arithmetic in the scrypt implementation courtesy of Marcin Krzyżanowski.