// // Message.swift // SwiftyRSA // // Created by Loïs Di Qual on 9/19/16. // Copyright © 2016 Scoop. All rights reserved. // import Foundation public protocol Message { var data: Data { get } var base64String: String { get } init(data: Data) init(base64Encoded base64String: String) throws } public extension Message { /// Base64-encoded string of the message data var base64String: String { return data.base64EncodedString() } /// Creates an encrypted message with a base64-encoded string. /// /// - Parameter base64String: Base64-encoded data of the encrypted message /// - Throws: SwiftyRSAError init(base64Encoded base64String: String) throws { guard let data = Data(base64Encoded: base64String) else { throw SwiftyRSAError.invalidBase64String } self.init(data: data) } }