Вот мой код:Неоднозначное использование 'arrayOfBytes()'
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!)
}
Линия:
data!.arrayOfBytes()
производит ошибку
Неоднозначное использование «arrayOfBytes() '
. Я проверил похожие вопросы, но никто не помог.
Ошибка при использовании как Xcode 7.3 Swift 2.2, так и Xcode 8.0 Swift 2.3.
Я прокомментировал структуру PusherSwift в Xcdoe 7.3, и это сработало.
Я не уверен, что это ошибка или что-то, что я скопировал неправильно.
Это означает, что существует более одной функции этого имени с аналогичной подписью. Вам нужно будет провести различие между двумя (или более). Попробуйте найти другую версию и поместить ее за префикс пространства имен. – Carcigenicate
Лучше всего избегать использования CryptoSwift, среди прочего, оно в 500-1000 раз медленнее, чем реализация на основе Common Crypto. Common Crypto от Apple является сертифицированным FIPS и, как таковой, был хорошо проверен, использование CryptoSwift дает шанс на правильность и безопасность. Если вам требуется больше средств безопасности, используйте [RNCryptor] (https://github.com/RNCryptor), который доступен на нескольких языках для нескольких платформ. Он безопасен, хорошо проверен и находится под текущей разработкой/обслуживанием. Он обеспечивает все детали, такие как случайный iv, аутентификация сообщения, расширение ключа и управление версиями для обеспечения безопасности. – zaph