Ios 解码base64+;解密-Swift
如何对base64EncodedString进行解码和解密以获得原始输入?我想我正在努力解决base64解码问题。这就是如何从Swift 2中的base64字符串中获得UTF-8编码的Ios 解码base64+;解密-Swift,ios,swift,encryption,swift2,Ios,Swift,Encryption,Swift2,如何对base64EncodedString进行解码和解密以获得原始输入?我想我正在努力解决base64解码问题。这就是如何从Swift 2中的base64字符串中获得UTF-8编码的NSString: let originalMsg:String = "THIS IS A TEST" let sessionData = originalMsg.dataUsingEncoding(NSUTF8StringEncoding) var encryptedPublic:NSData =
NSString
:
let originalMsg:String = "THIS IS A TEST"
let sessionData = originalMsg.dataUsingEncoding(NSUTF8StringEncoding)
var encryptedPublic:NSData = RNCryptor.encryptData(sessionData!, password: ProjectConstants.MessageEncrypt.PUBLIC_KEY)
var base64EncodedPublic:NSData = encryptedPublic.base64EncodedDataWithOptions([])
var encryptedPrivate = RNCryptor.encryptData(base64EncodedPublic, password: privateKey)
var base64EncodedString:String = encryptedPrivate.base64EncodedStringWithOptions([])
但如果要解密,只需要数据:
let decodedData = NSData(base64EncodedString: base64EncodedString,
options: NSDataBase64DecodingOptions.fromRaw(0)!)
let decodedString = NSString(data: decodedData, encoding: NSUTF8StringEncoding)
do {
let decodedData = NSData(base64EncodedString: base64EncodedString,
options: NSDataBase64DecodingOptions.fromRaw(0)!)
let decryptedPrivate = RNDecryptor.decryptData(decodedData, password: privateKey)
let decodedPrivate = NSData(base64EncodedData: decryptedPrivate,
options: NSDataBase64DecodingOptions.fromRaw(0)!)
let decryptedPublic = RNDecryptor.decryptData(decodedPrivate, password: ProjectConstants.MessageEncrypt.PUBLIC_KEY)
let decryptedMessage = NSString(data: decryptedPublic, encoding: NSUTF8StringEncoding) as String
} catch {
// handle decryption errors...
}