首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有Xcode 9和AES解密的CryptoSwift

具有Xcode 9和AES解密的CryptoSwift
EN

Stack Overflow用户
提问于 2017-09-25 00:59:02
回答 1查看 6.6K关注 0票数 2

我使用的是Xcode 9.0和CryptoSwift (0.7.2)。我试图扩展字符串来解密AES128加密的字符串。我已经成功地在Pods中添加了CryptoSwift,但是我得到了下面的编译错误--我做错了什么?

'PKCS7‘无法构造,因为它没有可访问的初始化器

这是分机:

代码语言:javascript
复制
import Foundation
import CryptoSwift

extension String {

    // https://stackoverflow.com/questions/27072021/aes-encrypt-and-decrypt
    func aesDecrypt(key: String, iv: String) throws -> String {
        let data = Data(base64Encoded: self)!
        let decrypted = try! AES(key: key, iv: iv, blockMode: .CBC, padding: PKCS7()).decrypt([UInt8](data))
        let decryptedData = Data(decrypted)
        return String(bytes: decryptedData.bytes, encoding: .utf8) ?? "Could not decrypt"
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-25 02:10:29

我查看了CryptoSwift的文档,并找到了一个示例代码:

代码语言:javascript
复制
let decrypted = try AES(key: key, iv: iv, blockMode: .CBC, padding: .pkcs7).decrypt(encrypted)

我认为它使用的是.pkcs7,而不是PKCS7()

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46396271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档