Swiftpack.co - tmthecoder/Argon2Swift as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by tmthecoder.
tmthecoder/Argon2Swift 1.0.4
An Argon2 Wrapper for Swift
⭐️ 24
🕓 1 year ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/tmthecoder/Argon2Swift.git", from: "1.0.4")

Argon2Swift

Argon2Swift Swift License: MIT

Swift bindings for the reference C implementation of Argon2, the winner of the Password Hash Competition.

Installation (Cocoapods)

Argon2Swift can be installed via Cocoapods by adding the following to your Podfile:

pod Argon2Swift

Installation (SPM)

Argon2Swift can be installed via SPM (Swift Package Manger) by adding the following to your depencencies:

.package(url: "https://github.com/tmthecoder/Argon2Swift.git", .branch("main"))

Usage

High-level hashing and verification (for direct hashing & verification of byte arrays, check the example)

import Argon2Swift

// Create a password and a salt
let password = "password"
let s = Salt.newSalt()
//Hash with pre-set params (iterations: 32, memory: 256, parallelism: 2, length: 32, type: Argon2Type.i, version: Argon2Version.V13)
let result = try! Argon2Swift.hashPasswordString(password: password, salt: s)

//Raw hash values available as int list, base 64 string, and hex string
let hashData = result.hashData()
let base64Hash = result.base64String()
let hexHash = result.hexString()

//Encoded hash values available as int list and encoded string
let encodedData = result.encodedData()
let encodedString = result.encodedString()

//Verify password (returns true/false), uses default type (Argon2Type.i)
let verified = try! Argon2Swift.verifyHashString(password: password, hash: stringEncoded);

Features and bugs

Please file feature requests and bugs at the issue tracker.

Licensing

GitHub

link
Stars: 24
Last commit: 1 year ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Related Packages

Release Notes

Argon2Swift 1.0.4
1 year ago

Changelog:

  • Make bytes public in salt so the data can be read externally (#6)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics