Aucune description

Marcin Krzyżanowski 71595c2691 update readme and stuff il y a 11 ans
CryptoSwift 71595c2691 update readme and stuff il y a 11 ans
CryptoSwift.xcodeproj edc874ed45 refactor enums, cleanup il y a 11 ans
CryptoSwiftTests 71595c2691 update readme and stuff il y a 11 ans
.gitignore 2bb301a771 NSData extension initial il y a 11 ans
LICENSE 0c22922fb7 Some useful extensions for numbers and initial work of MD5 imlementation. il y a 11 ans
README.md 71595c2691 update readme and stuff il y a 11 ans

README.md

#CryptoSwift Crypto related functions and helpers for Swift implemented in Swift. (#PureSwift)

##Requirements Good mood

##Features

  • Easy to use
  • Convenience extensions

####what implemented?

Hash

  • MD5
  • SHA1
  • SHA224
  • SHA256
  • SHA384
  • SHA512
  • CRC32 (well, kind of hash)

#####Cipher

  • ChaCha20

####Why?

Because I can

##Usage

Generally you should use CryptoSwift.Hash,CryptoSwift.Cipher enums or convenience extensions

CryptoHash enum usage

import CryptoSwift

/* Hash enum usage */
var data:NSData = NSData(bytes: [49, 50, 51] as [Byte], length: 3)
if let data = CryptoSwift.Hash.md5.calculate(data) {
    println(data.hexString)
}

Hashing a data

let hash = data.md5()
let hash = data.sha1()
let hash = data.sha224()
let hash = data.sha256()
let hash = data.sha384()
let hash = data.sha512()

let crc = data.crc32()

println(hash.hexString)

Hashing a String and printing result

if let hash = "123".md5() {
    println(hash)
}

Working with Cipher

// convenience setup tuplet
let setup = (key: keyData, iv: ivData)

// encrypt
let encrypted:NSData = Cipher.ChaCha20(setup).encrypt(dataToEncrypt)

// decrypt
let decrypted:NSData = Cipher.ChaCha20(setup).decrypt(encrypted)

// check
if (encrypted.isEqual(decrypted)) {
    print("Decryption failed!")
}

##Contact Marcin Krzyżanowski @krzyzanowskim

##Licence see LICENSE file