Latest 0.1.2
Homepage https://github.com/mlachmish/Cryptography
License MIT
Platforms ios 8.0, requires ARC
Authors

Cryptography


Language


Platform


MIT licensed



Build Status


Code Quality


Code Coverage



CocoaPods


Carthage

A modern cryptography library in Swift.

Features
Usage
Installation
Documentation
Author
License

Features

  • [x] Hash Functions
    • MD5
    • SHA-1
    • SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256)
    • SHA-3
  • [x] Message Authentication Codes
    • HMAC (via: SHA-3/SHA-2/SHA-1/MD5)

Soon to come

  • [ ] High Speed Stream Ciphers
    • ChaCha
    • Panama
    • Sosemanuk
    • Salsa20
  • [ ] block ciphers
    • AES (Rijndael)
    • Triple-DES (DES-EDE2 and DES-EDE3)
    • Blowfish
    • RC5
  • [ ] Message Authentication Codes
    • VMAC
    • CMAC
    • GMAC
  • [ ] Hash Functions
    • BLAKE2s
    • BLAKE2b
    • RIPEMD
  • [ ] Public-Key Cryptography
    • RSA
    • DSA
    • ElGamal
    • Nyberg-Rueppel (NR)
    • Rabin-Williams (RW)
  • [ ] Key Agreement Schemes
    • Diffie-Hellman (DH)
    • Unified Diffie-Hellman (DH2)
  • [ ] Elliptic Curve Cryptography
    • ECDSA
    • ECNR
    • ECIES

Usage

First import Cryptography module.

import Cryptography

Everything you need is available via the Cryptography facade.

Hash Functions

In order to calculate a hash value you simply call Cryptography.hash(message: String, method: HashMethod) -> String with the desired HashMethod

let hashValue = Cryptography.hash("The quick brown fox jumps over the lazy dog", method: HashMethod.SHA1) // "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"

Message Authentication Codes

In order to calculate a MAC value you simply call authenticate(message: String, key: String, method: MACMethod) -> String with the desired MACMethod

let macValue = Cryptography.authenticate("The quick brown fox jumps over the lazy dog", key: "key", method: MACMethod.HMAC(hashMethod: HashMethod.SHA1)) // "de7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9"

Installation

Compatibility

  • OS X 10.9+ / iOS 8.0+ / watchOS 2.0 / tvOS 9.0

  • Xcode 7.1+, Swift 2.1+

Install Using CocoaPods

CocoaPods is a centralized dependency manager for
Objective-C and Swift. Go here
to learn more.

  1. Add the project to your Podfile.

    use_frameworks!
    
    pod 'Cryptography'
  2. Run pod install and open the .xcworkspace file to launch Xcode.

Install Using Carthage

Carthage is a decentralized dependency
manager for Objective-C and Swift.

  1. Add the project to your Cartfile.

    github "mlachmish/Cryptography"
  2. Run carthage update and follow the additional steps
    in order to add Cryptography to your project.

Swift Package Manager

You can use Swift Package Manager and specify dependency in Package.swift by adding this:

.Package(url: "https://github.com/mlachmish/Cryptography.git", majorVersion: 0)

Manually

Download and drop /Cryptography folder in your project.

Author

Matan Lachmish a.k.a The Big Fat Ninja The Big Fat Ninja
https://thebigfatninja.xyz

Audit & Security Disclosure

If you believe you have identified a security vulnerability with Cryptography,
please report it as soon as possible via email to [email protected]
Do not post it to the public issue tracker.

attribution

Icon made by Freepik from www.flaticon.com

License

Cryptography is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "Cryptography",
    "version": "0.1.2",
    "summary": "A modern cryptography library in Swift.",
    "description": "A modern cryptography library in Swift.nFeatures:nHash Functions - MD5, SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256), SHA-3.nMessage Authentication Codes - HMAC",
    "homepage": "https://github.com/mlachmish/Cryptography",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Matan Lachmish": "[email protected]"
    },
    "source": {
        "git": "https://github.com/mlachmish/Cryptography.git",
        "tag": "0.1.2"
    },
    "social_media_url": "https://twitter.com/mlachmish",
    "platforms": {
        "ios": "8.0"
    },
    "source_files": "Cryptography/**/*",
    "requires_arc": true
}

Pin It on Pinterest

Share This