Skip to content
This repository has been archived by the owner on Dec 17, 2021. It is now read-only.

soffes/Crypto

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

Crypto

Version Swift Version Carthage compatible

Simple CommonCrypto wrapper for Swift for macOS, iOS, watchOS, and tvOS with Carthage support.

Released under the MIT license. Enjoy.

Installation

Carthage is the recommended way to install Crypto. Add the following to your Cartfile:

github "soffes/Crypto"

Note: this library depends on CommonCrypto, so you'll need to add both Crypto and CommonCrypto to your project.

Documentation

Currently, only digest and HMAC are supported.

Digest

There are extensions for Data and String for convenience:

import Crypto

"sam".sha1 // "f16bed56189e249fe4ca8ed10a1ecae60e8ceac0"
data.sha1  // <Data …>

MD2, MD4, MD5, SHA1, SHA224, SHA256, SHA384, SHA512 are available.

You can also use Digest directly:

Digest.md5(bytes: data.bytes, length: data.length) // [UInt8]

HMAC

HMAC in CommonCrypto is also supported.

HMAC.sign(message: "sam", algorithm: .sha1, key: "secret") // 1a90fa4e73686dfca75f5411d9fb81951edf1292

HMAC.sign(data: messageData, algorithm: .sha1, key: keyData) // <Data …>

MD5, SHA1, SHA224, SHA256, SHA384, SHA512 are the available algorithms.

Roadmap

This is a work in progress.

  • Cryptor
  • Digest
  • HMAC
  • Key Derivation
  • Random
  • Symmetric Key Wrap