Swift中如何进行加密和解密操作
在Swift中进行加密和解密操作通常使用CryptoKit库来实现。下面是一个示例代码,演示如何使用CryptoKit库进行AES加密和解密操作:
import CryptoKit
// 加密函数
func encrypt(text: String, key: SymmetricKey) -> Data {
let data = text.data(using: .utf8)!
let sealedBox = try! AES.GCM.seal(data, using: key)
return sealedBox.combined!
}
// 解密函数
func decrypt(data: Data, key: SymmetricKey) -> String {
let sealedBox = try! AES.GCM.SealedBox(combined: data)
let decryptedData = try! AES.GCM.open(sealedBox, using: key)
return String(data: decryptedData, encoding: .utf8)!
}
// 生成密钥
let key = SymmetricKey(size: .bits256)
// 要加密的文本
let text = "Hello, World!"
// 加密文本
let encryptedData = encrypt(text: text, key: key)
// 解密文本
let decryptedText = decrypt(data: encryptedData, key: key)
print(decryptedText) // 输出: Hello, World!
在上面的示例中,我们使用AES加密算法进行文本的加密和解密操作。首先生成一个256位的SymmetricKey密钥,然后使用encrypt函数对文本进行加密,再使用decrypt函数对加密后的数据进行解密,最后输出解密后的文本。