Last active
October 18, 2022 00:19
-
-
Save cardosoedgar/bc58f7e66166fa73517b16aa6a662a50 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let algorithm: SecKeyAlgorithm = .eciesEncryptionStandardX963SHA1AESGCM | |
func encrypt(with key: String, string: String) -> String? { | |
var error: Unmanaged<CFError>? | |
let attributes: [String: Any] = [ | |
kSecAttrKeyClass as String: kSecAttrKeyClassPublic, | |
kSecAttrKeyType as String: kSecAttrKeyTypeECSECPrimeRandom, | |
kSecAttrKeySizeInBits as String: 256] | |
guard let dataKey = Data(base64Encoded: key, options: .ignoreUnknownCharacters), | |
let pubKey = SecKeyCreateWithData(dataKey as CFData, attributes as CFDictionary, &error) else { return nil } | |
guard let data = string.data(using: .utf8), | |
let encrypted = SecKeyCreateEncryptedData(pubKey, algorithm, data as CFData, &error) { return nil } | |
return (encrypted as Data).base64EncodedString() | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment