RijndaelSwift

这是 Rijndael 算法的一个实现。

支持 128/192/256 位密钥/块,以及 ECB、CBC 模式。

要求

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理工具。 您可以使用以下命令安装它:

$ gem install cocoapods

要使用 CocoaPods 将 RijndaelSwift 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它:

platform :ios, '8.0'
use_frameworks!
target 'YourApp' do
    pod 'RijndaelSwift'
end

然后,运行以下命令:

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理工具,它可以构建您的依赖项并为您提供二进制框架。

您可以使用 Homebrew 安装 Carthage,使用以下命令:

$ brew update
$ brew install carthage

要使用 Carthage 将 RijndaelSwift 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它:

github "superk589/RijndaelSwift"

运行 carthage update 来构建框架,并将构建的 RijndaelSwift.framework 拖到您的 Xcode 项目中。

手动

如果您不想使用上述任何依赖管理工具,您可以手动将 RijndaelSwift 集成到您的项目中。

用法

加密

let key = yourKey
let iv = yourIV
let r = Rijndael(key: key, mode: .cbc)!
let plainData = yourPlainData
let cipherData = r.encrypt(data: plainData, blockSize: 32, iv: iv)

解密

let key = yourKey
let iv = yourIV
let r = Rijndael(key: key, mode: .cbc)!
let cipherData = yourCipherData
let plainData = r.decrypt(data: cipherData, blockSize: 32, iv: iv)

用于字符串和数据转换的实用工具

// convert hexadecimal string to data
let data = "000000".hexadecimal()!

// convert data to hexadecimal string
let string = data.hexadecimal()

鸣谢

rijndael-js by Snack-X