Skip to content

computablelabs/SwiftKeccak

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftKeccak

This is a fork. There is no spoon. The original is here. Updated to work with Swift 4.2 and 5.

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".

Installation

Carthage

Add the following to your Cartfile

github "uport-project/SwiftKeccak"

Usage

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()

About

Ethereum compatible Keccak hash for Swift

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 78.8%
  • Swift 18.6%
  • Objective-C 2.6%