This is an implementation of Keccak 256 the hash function used in Ethereum as well as the final version of the Sha3 as published by NIST.
It is a wrapper around an older version of the keccak-tiny library.
Important Ethereum uses the original version of Sha3 which we use here as it's original name "keccak". The final published version of Sha3 had a few minor changes to it, but produce as you would expect different results. In this library we refer to that as "sha3Final".
Add the following to your Cartfile
github "uport-project/SwiftKeccak"You can use the keccak256() function with both Data and String inputs.
import SwiftKeccak
let hash: Data = keccak256("hello")You can also use the sha3Final256() function with both Data and String inputs for the final version of sha3 (see explanation above).
import SwiftKeccak
let hash: Data = sha3Final256("hello")We also include a handy extension for both Data and String allowing you to call keccak() and sha3final() on them.
import SwiftKeccak
let hash: Data = "hello".keccak()
let hash: Data = "hello".sha3Final()