Blake2.swift
Swift wrapper for reference C implementation of BLAKE2 hash functions.
Installation
Blake2 deploys to macOS, iOS, tvOS, watchOS and Linux. It has been tested on the latest OS releases only however, as the module uses very few platform-provided APIs, there should be very few issues with earlier versions.
Setup instructions:
-
Swift Package Manager: Add this to the dependency section of your
Package.swift
manifest:.package(url: "https://github.com/tesseract-one/Blake2.swift.git", from: "0.2.0")
-
CocoaPods: Put this in your
Podfile
:pod 'Blake2', '~> 0.2'
Usage Examples
import Blake2
let data = Data("some data for hashing".utf8)
// Simple hash api. 64 byte Blake2b hash.
let hash = try! Blake2b.hash(size: 64, data: data)
print("Hash", hash)
// Streaming hash api. 64 byte Blake2b hash.
// Create hasher object
var hasher = try! Blake2b(size: 64)
// insert data by chunks
hasher.update(data)
// and then finalize hasher
let hash2 = try! hasher.finalize()
print("Hash", hash2)
License
Blake2.swift can be used, distributed and modified under the Apache 2.0 license.