首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“arrayOfBytes()”的模糊用法

“arrayOfBytes()”的模糊用法
EN

Stack Overflow用户
提问于 2016-10-03 15:09:54
回答 1查看 748关注 0票数 0

这是我的代码:

代码语言:javascript
复制
 func aesEncrypt(key: String, iv: String) throws -> String
{
    let data = self.dataUsingEncoding(NSUTF8StringEncoding)

    let enc = try AES(key: key, iv: iv, blockMode:.CBC).encrypt(data!.arrayOfBytes())
    let encData = NSData(bytes: enc, length: Int(enc.count))
    let base64String: String = encData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0));
    let result = String(base64String)
    return result
}

func aesDecrypt(key: String, iv: String) throws -> String
{
    let data = NSData(base64EncodedString: self, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
    let dec = try AES(key: key, iv: iv, blockMode:.CBC).decrypt(data!.arrayOfBytes())
    let decData = NSData(bytes: dec, length: Int(dec.count))
    let result = NSString(data: decData, encoding: NSUTF8StringEncoding)
    return String(result!)
}

这句话:

代码语言:javascript
复制
data!.arrayOfBytes()

正在产生错误

“arrayOfBytes()”的模糊用法

。我检查过类似的问题,但都没有帮助。

Xcode 7.3 Swift 2.2和Xcode 8.0 Swift 2.3的错误周期。

我在Xcdoe7.3中注释掉了PusherSwift框架,它起了作用。

我不确定这是一个bug还是我复制错了什么东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-03 15:17:44

如果PusherSwift是推手-websocket-迅捷,那么看起来他们只是将CryptoSwift直接放入他们的模块中。如果您也直接导入CryptoSwift,那么它们就会发生冲突。这是Pusher犯的错误。他们不能在不特别小心的情况下把另一个图书馆扔到自己的图书馆里,以免发生碰撞。

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

https://stackoverflow.com/questions/39834805

复制
相关文章

相似问题

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