對稱密鑰 (Symmetric Key) 可以用在像是
AES-GCM 這類的演算法。
生成密鑰
import CryptoKit
let key = SymmetricKey(size: .bits256)
轉換成字串
因為 SymmetricKey 並無支援轉換成字串,因此要進行的步驟就是先把密鑰轉換成 Data 型態,接著就可以轉換成字串了。
印出 keyString 就會像是這樣子的字串:
MC65mVLrR8C8gfMVhSOWUyFpMafQbe4MgU9dk07BclE=
轉換成 Data
.withUnsafeBytes({ Data($0) })
可以把密鑰轉換成 Data ,用另外一個寫法也可以:
.withUnsafeBytes(Data.init(_:))
將 Data 轉換成 String
.base64EncodedString()
這邊就沒什麼特別的了,就是把 Data 編碼成字串
轉換回 SymmetricKey
反向的話就從字串轉換成 Data ,接著就可以拿這個 Data 物件生成 SymmetricKey 即可。
以上!