CatCrypto 包含一系列哈希和加密函数,并正在开发更多功能!
CatCrypto 还包含 Swift 链接的 Argon2,这是在密码哈希竞赛(PHC)中获胜的密码哈希函数。
内容
要求
- Swift 4+
- iOS 8.0+
- macOS 10.10+
- tvOS 9.0+
- watchOS 2.0+
支持函数
即将推出功能
- 高级加密标准 (AES)
- 数据加密标准 (DES)
- 三重数据加密 (3DES)
使用方法
上下文
上下文包含函数 crypto 的输入和配置。
使用 SHA-2 函数 crypto 改变哈希长度
let sha2Crypto = CatSHA2Crypto()
sha2Crypto.context.hashLength = .bit384
哈希处理
哈希函数用于将任意大小的数据映射到固定大小的数据。
使用 MD6
函数 crypto 简单地对字符串进行哈希处理
let md6Crypto = CatMD6Crypto()
md6Crypto.context.hashLength = .bit512
print(md6Crypto.hash(password: "CatCrypto").hexStringValue())
// 3ad3003383633c40281bb5185424ee56a5a1c6dfa3a0e7c3a9e381c58d253323e146feb3f04cb9ebcde47186e042ce63109b8d19f3ca760ea00c90654eb2b272
验证
一些哈希函数支持验证它们的哈希值。
使用 Argon2
函数 crypto 进行验证
let hash = "$argon2i$v=19$m=4096,t=3,p=1$Q2F0Q3J5cHRv$Ad6gXMVLvZ3uQOeTi6nCmU4Ns2/nPDfPD5B3yyebv8k"
let argon2Crypto = CatArgon2Crypto()
argon2Crypto.context.mode = .argon2i
argon2Crypto.context.salt = "CatCrypto"
print(argon2Crypto.verify(hash: hash, password: "CatCrypto").boolValue())
// true
安装
CatCrypto 可通过 CocoaPods 和 Carthage 使用。
CocoaPods
将以下行添加到您的 Podfile 中
use_frameworks!
pod 'CatCrypto'
Carthage
将以下行添加到您的Cartfile中
github "ImKcat/CatCrypto"
文档
交互
CatCrypto一直在尝试支持更多的功能,使其更容易使用,请向下阅读与CatCrypto交互的内容。
需要帮助
- 阅读使用部分和API参考
- 在问题中搜索找到了重复或相关的问题
- 有问题?打开一个问题类型的问题
- 报告错误?打开一个错误类型的问题
- 需要新功能?打开一个功能类型的问题
贡献
如果您想对CatCrypto做出贡献,请首先阅读贡献指南。
许可
CatCrypto在MIT许可下可用。更多信息请参阅LICENSE文件。