All Projects → soffes → Crypto

soffes / Crypto

Licence: mit
Swift CommonCrypto wrapper

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Crypto

Datez
📆 Breeze through Date, DateComponents, and TimeInterval with Swift!
Stars: ✭ 254 (-22.56%)
Mutual labels:  tvos, watchos, carthage
Cache
Swift caching library
Stars: ✭ 210 (-35.98%)
Mutual labels:  tvos, watchos, carthage
Cocoalumberjack
A fast & simple, yet powerful & flexible logging framework for Mac and iOS
Stars: ✭ 12,584 (+3736.59%)
Mutual labels:  tvos, watchos, carthage
SwiftVer
Easily Manage Versioning in MacOS, iOS, watchOS, and tvOS projects.
Stars: ✭ 23 (-92.99%)
Mutual labels:  tvos, watchos, carthage
X
Easier cross platform Mac & iOS development with Swift
Stars: ✭ 270 (-17.68%)
Mutual labels:  tvos, watchos, carthage
Cdmarkdownkit
An extensive Swift framework providing simple and customizable markdown parsing.
Stars: ✭ 158 (-51.83%)
Mutual labels:  tvos, watchos, carthage
Web3.swift
A pure swift Ethereum Web3 library
Stars: ✭ 295 (-10.06%)
Mutual labels:  tvos, watchos, carthage
Contentful.swift
A delightful Swift interface to Contentful's content delivery API.
Stars: ✭ 132 (-59.76%)
Mutual labels:  tvos, watchos, carthage
Mechanica
A cross-platform library of Swift utils to ease your iOS | macOS | watchOS | tvOS and Linux development.
Stars: ✭ 27 (-91.77%)
Mutual labels:  tvos, watchos, carthage
Dots
Lightweight Concurrent Networking Framework
Stars: ✭ 35 (-89.33%)
Mutual labels:  tvos, watchos, carthage
Functionkit
A framework for functional types and operations designed to fit naturally into Swift.
Stars: ✭ 302 (-7.93%)
Mutual labels:  tvos, watchos, carthage
BlockiesSwift
Unique blocky identicons generator for Swift
Stars: ✭ 53 (-83.84%)
Mutual labels:  tvos, watchos, carthage
Color
Color utilities for macOS, iOS, tvOS, and watchOS
Stars: ✭ 145 (-55.79%)
Mutual labels:  tvos, watchos, carthage
clevertap-ios-sdk
CleverTap iOS SDK
Stars: ✭ 39 (-88.11%)
Mutual labels:  tvos, watchos, carthage
Ducttape
📦 KeyPath dynamicMemberLookup based syntax sugar for Swift.
Stars: ✭ 138 (-57.93%)
Mutual labels:  tvos, watchos, carthage
L10n Swift
Localization of the application with ability to change language "on the fly" and support for plural form in any language.
Stars: ✭ 177 (-46.04%)
Mutual labels:  tvos, watchos, carthage
Diff
Simple diff library in pure Swift
Stars: ✭ 110 (-66.46%)
Mutual labels:  tvos, watchos, carthage
Sqift
Powerful Swift wrapper for SQLite
Stars: ✭ 119 (-63.72%)
Mutual labels:  tvos, watchos, carthage
Iso8601
ISO8601 date parser and writer
Stars: ✭ 213 (-35.06%)
Mutual labels:  tvos, watchos, carthage
Columbus
A feature-rich country picker for iOS, tvOS and watchOS.
Stars: ✭ 23 (-92.99%)
Mutual labels:  tvos, watchos, carthage

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
  • [x] Digest
  • [x] HMAC
  • [ ] Key Derivation
  • [ ] Random
  • [ ] Symmetric Key Wrap
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].