用 Swift 將對稱密鑰轉換成字串

更新於 2023/03/01閱讀時間約 1 分鐘
對稱密鑰 (Symmetric Key) 可以用在像是 AES-GCM 這類的演算法。

生成密鑰

import CryptoKit
let key = SymmetricKey(size: .bits256)
先透過 CryptoKitSymmetricKey 建立一個密鑰

轉換成字串

因為 SymmetricKey 並無支援轉換成字串,因此要進行的步驟就是先把密鑰轉換成 Data 型態,接著就可以轉換成字串了。
generated with ray.so
印出 keyString 就會像是這樣子的字串:
MC65mVLrR8C8gfMVhSOWUyFpMafQbe4MgU9dk07BclE=

轉換成 Data

.withUnsafeBytes({ Data($0) })
可以把密鑰轉換成 Data ,用另外一個寫法也可以:
.withUnsafeBytes(Data.init(_:))

將 Data 轉換成 String

.base64EncodedString()
這邊就沒什麼特別的了,就是把 Data 編碼成字串

轉換回 SymmetricKey

反向的話就從字串轉換成 Data ,接著就可以拿這個 Data 物件生成 SymmetricKey 即可。
generated with ray.so
由於 Data(base64Encoded:) 的結果是 Optional ,所以在傳遞給 SymmetricKey 用來初始化前需要用 if-let 或 guard-let 。
以上!
    avatar-img
    2會員
    4內容數
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    vc7的沙龍 的其他內容
    為了增加 SymmetricKey (對稱密鑰)的獨特性和安全性,可以透過「加鹽」的手法在生成的時候加入其他的值。
    為了增加 SymmetricKey (對稱密鑰)的獨特性和安全性,可以透過「加鹽」的手法在生成的時候加入其他的值。
    你可能也想看
    Google News 追蹤
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    利用OPENCV,實現SIFT應用,尋找圖片中物件的旋轉角度 本文介紹主要提出SIFT提取關鍵角點的座標,由此算出物件的旋轉角度 程式功能介紹 : 導入待檢測圖及樣本圖,則會依照樣本圖中的物件為基準
    Thumbnail
    有沒有那麼一位歌手是從你懵懂的青春時期,一路到出社會甚至是疫情期間都有不同的作品陪伴你...?橫跨民謠、主流、搖滾之曲風多變的 Taylor Swift ,不斷感謝粉絲的恩寵,讓她在創作之路上可以自由嘗試各種曲風,死忠歌迷們依舊支持甚至是範圍越來越廣、橫跨更多不同的族群!
    Thumbnail
    泰勒絲:時代巡迴演唱會電影《Taylor Swift: The Eras Tour》| 買不到Taylor Swift演唱會門票? 那腦粉樹懶就看爆她的演唱會電影| 分享兩次進影聽的觀影體驗,一次威秀泰坦廳,一次一般廳。 樹懶 X Taylor Swift,Never go out of style
    Thumbnail
    這個浮誇標題是ChatGPT幫我想的😊 圖也是DALL幫我產的, AI萬歲! GCD也是面試必問題啊!我答超爛的,只會用背景呼叫API+切Main Thread更新畫面,今天就來認真了解。 GCD是什麼? 先來問ChatGPT什麼是GCD? GCD,全名 Grand Central Dis
    Thumbnail
    Addicted to betrayal, but you're relevant / 早已沉溺在背叛他人信任的你,可別想一走了之
    Thumbnail
    上班族的工作日常裡,「吃」可是重要的抉擇之一,然而,思考要吃什麼午餐卻是比起工作更為困難的問題。為了能在中午12點準時放飯,訂午餐可說是最簡單快速的方式,只是有時候我也會選擇不那麼有效率解決午餐的方式,透過外出用餐,暫時遠離電腦、辦公室和工作 ,讓。
    Thumbnail
    2018年11月至2019年10月,在夢想城鄉每週五創作班實習的這些日子,帶給我的人生諸多美好豐富的收穫和後勁。我想透過這篇有點細、有點長的記錄,誠摯向大家介紹和推薦我心目中的夢想城鄉。
    「同事真的很重要,但沒有比自己更為重要。」 畢竟豬隊友,不是一夕之間形成的,縱容是大部分人要面對的課題,可有時候反應卻又會反噬自己,因為沒有料到原來人家是有關係的,無論那一層關係是什麼,都比自己來的更堅硬不可破,最終想想,那又如何,來的時候就是一個人,所以最糟就是離開而已,沒什麼好怕的。
    二段看似毫無關係的故事,卻牽扯出近年爭議最大的文壇風潮。一名曾與知名作家傳出戀情的編輯,出版的小說與那段戀情有著密不可分的關係。2018年出版的小說《非對稱》,由麗莎.哈利迪(Lisa Halliday)著,臺灣商務印書館出版。
    Thumbnail
    *合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
    Thumbnail
    利用OPENCV,實現SIFT應用,尋找圖片中物件的旋轉角度 本文介紹主要提出SIFT提取關鍵角點的座標,由此算出物件的旋轉角度 程式功能介紹 : 導入待檢測圖及樣本圖,則會依照樣本圖中的物件為基準
    Thumbnail
    有沒有那麼一位歌手是從你懵懂的青春時期,一路到出社會甚至是疫情期間都有不同的作品陪伴你...?橫跨民謠、主流、搖滾之曲風多變的 Taylor Swift ,不斷感謝粉絲的恩寵,讓她在創作之路上可以自由嘗試各種曲風,死忠歌迷們依舊支持甚至是範圍越來越廣、橫跨更多不同的族群!
    Thumbnail
    泰勒絲:時代巡迴演唱會電影《Taylor Swift: The Eras Tour》| 買不到Taylor Swift演唱會門票? 那腦粉樹懶就看爆她的演唱會電影| 分享兩次進影聽的觀影體驗,一次威秀泰坦廳,一次一般廳。 樹懶 X Taylor Swift,Never go out of style
    Thumbnail
    這個浮誇標題是ChatGPT幫我想的😊 圖也是DALL幫我產的, AI萬歲! GCD也是面試必問題啊!我答超爛的,只會用背景呼叫API+切Main Thread更新畫面,今天就來認真了解。 GCD是什麼? 先來問ChatGPT什麼是GCD? GCD,全名 Grand Central Dis
    Thumbnail
    Addicted to betrayal, but you're relevant / 早已沉溺在背叛他人信任的你,可別想一走了之
    Thumbnail
    上班族的工作日常裡,「吃」可是重要的抉擇之一,然而,思考要吃什麼午餐卻是比起工作更為困難的問題。為了能在中午12點準時放飯,訂午餐可說是最簡單快速的方式,只是有時候我也會選擇不那麼有效率解決午餐的方式,透過外出用餐,暫時遠離電腦、辦公室和工作 ,讓。
    Thumbnail
    2018年11月至2019年10月,在夢想城鄉每週五創作班實習的這些日子,帶給我的人生諸多美好豐富的收穫和後勁。我想透過這篇有點細、有點長的記錄,誠摯向大家介紹和推薦我心目中的夢想城鄉。
    「同事真的很重要,但沒有比自己更為重要。」 畢竟豬隊友,不是一夕之間形成的,縱容是大部分人要面對的課題,可有時候反應卻又會反噬自己,因為沒有料到原來人家是有關係的,無論那一層關係是什麼,都比自己來的更堅硬不可破,最終想想,那又如何,來的時候就是一個人,所以最糟就是離開而已,沒什麼好怕的。
    二段看似毫無關係的故事,卻牽扯出近年爭議最大的文壇風潮。一名曾與知名作家傳出戀情的編輯,出版的小說與那段戀情有著密不可分的關係。2018年出版的小說《非對稱》,由麗莎.哈利迪(Lisa Halliday)著,臺灣商務印書館出版。