-
Notifications
You must be signed in to change notification settings - Fork 83
Closed
Labels
Description
Hi IDZ,
I'm getting a few strange characters at the beginning of the decrypted text using the following extensions on String, based on your example code. The [UInt8] data passed to decrypt is coming from a stored file (of the encrypted data). After the first few characters, the rest of the decrypted text is perfect.
Any help would be greatly appreciated! Thank you.
public extension String {
func encryptAsData(key: [UInt8]) -> [UInt8]? {
let cryptor = Cryptor(operation:.encrypt, algorithm: .aes, options: .PKCS7Padding, key: key, iv: Array<UInt8>())
return cryptor.update(string: self)?.final()
}
static func decrypt(data: [UInt8], key: [UInt8]) -> String? {
let cryptor = Cryptor(operation: .decrypt, algorithm: .aes, options: .PKCS7Padding, key: key, iv: Array<UInt8>())
if let decryptedData = cryptor.update(byteArray: data)?.final() {
return decryptedData.reduce("") { $0 + String(UnicodeScalar($1)) }
}
return nil
}
}