CatCrypto include a series of hashing and encryption functions and more functions in progress!
CatCrypto also contains Swift bindings of Argon2, the password-hashing function that won the Password Hashing Competition (PHC).
- Content
- Requirements
- Support Functions
- Upcoming Functions
- Usage
- Installation
- Documentation
- Interacting
- License
- Swift 4+
- iOS 8.0+
- macOS 10.10+
- tvOS 9.0+
- watchOS 2.0+
- Advanced Encryption Standard (AES)
- Data Encryption Standard (DES)
- Triple DES (3DES)
Context contains inputs and configures for function crypto.
Change hash length with SHA-2
function crypto:
let sha2Crypto = CatSHA2Crypto()
sha2Crypto.context.hashLength = .bit384
Hash function used to map data of arbitrary size to data of fixed size.
Simply hashing string with MD6
function crypto:
let md6Crypto = CatMD6Crypto()
md6Crypto.context.hashLength = .bit512
print(md6Crypto.hash(password: "CatCrypto").hexStringValue())
// 3ad3003383633c40281bb5185424ee56a5a1c6dfa3a0e7c3a9e381c58d253323e146feb3f04cb9ebcde47186e042ce63109b8d19f3ca760ea00c90654eb2b272
Some hash function support to verify their hashed value.
Verifing with Argon2
function crypto:
let hash = "$argon2i$v=19$m=4096,t=3,p=1$Q2F0Q3J5cHRv$Ad6gXMVLvZ3uQOeTi6nCmU4Ns2/nPDfPD5B3yyebv8k"
let argon2Crypto = CatArgon2Crypto()
argon2Crypto.context.mode = .argon2i
argon2Crypto.context.salt = "CatCrypto"
print(argon2Crypto.verify(hash: hash, password: "CatCrypto").boolValue())
// true
CatCrypto is available through CocoaPods and Carthage.
Add the following line to your Podfile:
use_frameworks!
pod 'CatCrypto'
Add the following line to your Cartfile:
github "ImKcat/CatCrypto"
CatCrypto is always trying to support more functions and keep itself easy to use, please reading down below to interacting with CatCrypto.
- Reading usage section and API Reference
- Searched in issues to find duplicated or related issues
- Ask question? Open a question type issue
- Report bug? Open a bug type issue
- Need new feature? Open a feature type issue
If you want to contribute with CatCrypto, please reading Contribute Guidelines at first.
CatCrypto is available under the MIT license. See the LICENSE file for more info.