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

更新 發佈閱讀 2 分鐘

對稱密鑰 (Symmetric Key) 可以用在像是 AES-GCM 這類的演算法。

生成密鑰

import CryptoKit
let key = SymmetricKey(size: .bits256)

先透過 CryptoKitSymmetricKey 建立一個密鑰

轉換成字串

因為 SymmetricKey 並無支援轉換成字串,因此要進行的步驟就是先把密鑰轉換成 Data 型態,接著就可以轉換成字串了。

raw-image

印出 keyString 就會像是這樣子的字串:

MC65mVLrR8C8gfMVhSOWUyFpMafQbe4MgU9dk07BclE=

轉換成 Data

.withUnsafeBytes({ Data($0) })

可以把密鑰轉換成 Data ,用另外一個寫法也可以:

.withUnsafeBytes(Data.init(_:))

將 Data 轉換成 String

.base64EncodedString()

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

轉換回 SymmetricKey

反向的話就從字串轉換成 Data ,接著就可以拿這個 Data 物件生成 SymmetricKey 即可。

raw-image

由於 Data(base64Encoded:) 的結果是 Optional ,所以在傳遞給 SymmetricKey 用來初始化前需要用 if-let 或 guard-let 。

以上!

留言
avatar-img
留言分享你的想法!
avatar-img
萱寫寫
2會員
15內容數
讀書心得、活動參加心得
萱寫寫的其他內容
2023/05/21
最近一直在推特上看到這本,加上有看到一些巴菲特今年的投資組合的推文就來讀讀。許多書序都只提到價值投資,實際讀過之後發現除此之外還有更多內容。
2023/05/21
最近一直在推特上看到這本,加上有看到一些巴菲特今年的投資組合的推文就來讀讀。許多書序都只提到價值投資,實際讀過之後發現除此之外還有更多內容。
2023/05/16
這是一本涵蓋範圍很廣的一本書,從身為主管時的心態為何,接著以「為了達成組織和團隊的目的」為核心,分章節談如何挑選成員、團隊構成、面對問題和衝突、自我和成員的成長、動力等等議題。
2023/05/16
這是一本涵蓋範圍很廣的一本書,從身為主管時的心態為何,接著以「為了達成組織和團隊的目的」為核心,分章節談如何挑選成員、團隊構成、面對問題和衝突、自我和成員的成長、動力等等議題。
2023/02/21
為了增加 SymmetricKey (對稱密鑰)的獨特性和安全性,可以透過「加鹽」的手法在生成的時候加入其他的值。
Thumbnail
2023/02/21
為了增加 SymmetricKey (對稱密鑰)的獨特性和安全性,可以透過「加鹽」的手法在生成的時候加入其他的值。
Thumbnail
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
雲時代的來臨, 我們過往使用的桌面版應用程式逐漸搬上雲端, 但也帶來了極大的挑戰, 因為一但上雲就代表著需要面臨著四面八方的使用者, 我們並不知道這些使用者是否都是君子, 一個不小心如果出現漏洞就可能被攻擊, 導致系統損壞, 進而影響商譽、營收, 對企業來說是極大的傷害, 為了避免這樣的狀況發生,
Thumbnail
雲時代的來臨, 我們過往使用的桌面版應用程式逐漸搬上雲端, 但也帶來了極大的挑戰, 因為一但上雲就代表著需要面臨著四面八方的使用者, 我們並不知道這些使用者是否都是君子, 一個不小心如果出現漏洞就可能被攻擊, 導致系統損壞, 進而影響商譽、營收, 對企業來說是極大的傷害, 為了避免這樣的狀況發生,
Thumbnail
如何將對稱密鑰轉換成字串,以及如何從字串反向生成原有的對稱密鑰
Thumbnail
如何將對稱密鑰轉換成字串,以及如何從字串反向生成原有的對稱密鑰
Thumbnail
為了增加 SymmetricKey (對稱密鑰)的獨特性和安全性,可以透過「加鹽」的手法在生成的時候加入其他的值。
Thumbnail
為了增加 SymmetricKey (對稱密鑰)的獨特性和安全性,可以透過「加鹽」的手法在生成的時候加入其他的值。
Thumbnail
坊間談論區塊鏈技術的文章影片中,有著諸多不夠精確而容易偏差的誤解。這篇文章會秉著科學精神,從原理出發,一步步推論各種議題的真實樣貌。
Thumbnail
坊間談論區塊鏈技術的文章影片中,有著諸多不夠精確而容易偏差的誤解。這篇文章會秉著科學精神,從原理出發,一步步推論各種議題的真實樣貌。
Thumbnail
本期要介紹的是加密貨幣的相關名詞,以下的許多名詞經常出現在商業週刊、經濟日報、投資相關書籍、新聞報導裡。每期的內容不會一次介紹幾十個名詞,讓讀者記不得,希望讀者能運用每期學習的機會,來讀懂各式商業報刊雜誌。 ※為方便區分,粗體字為專有名詞或是備註 加密&解密 金鑰:加密機制的暱稱,用於還原密文。
Thumbnail
本期要介紹的是加密貨幣的相關名詞,以下的許多名詞經常出現在商業週刊、經濟日報、投資相關書籍、新聞報導裡。每期的內容不會一次介紹幾十個名詞,讓讀者記不得,希望讀者能運用每期學習的機會,來讀懂各式商業報刊雜誌。 ※為方便區分,粗體字為專有名詞或是備註 加密&解密 金鑰:加密機制的暱稱,用於還原密文。
Thumbnail
基礎密碼學中主要分成三種加密方式:對稱加密(Symmetric Encryption)、非對稱加密(Asymmetric Encryption)、雜湊函數(Hash Function)。 再說明這兩個加密方式前,我們先來說說什麼是密鑰! 什麼是密鑰 對稱加密 用同一把密鑰來加密及解密 非對稱加密
Thumbnail
基礎密碼學中主要分成三種加密方式:對稱加密(Symmetric Encryption)、非對稱加密(Asymmetric Encryption)、雜湊函數(Hash Function)。 再說明這兩個加密方式前,我們先來說說什麼是密鑰! 什麼是密鑰 對稱加密 用同一把密鑰來加密及解密 非對稱加密
Thumbnail
公鑰 (Public Key):加密貨幣地址的一部分,是你公開分享的數字,讓人可以寄錢給你,如 0x462d024852349ebF611794791D35d8D8C5480DeB 私鑰 (Private Key):加密貨幣地址的另一部分,是你保密的數字,用來驗證你收到的錢是否真的屬於你。
Thumbnail
公鑰 (Public Key):加密貨幣地址的一部分,是你公開分享的數字,讓人可以寄錢給你,如 0x462d024852349ebF611794791D35d8D8C5480DeB 私鑰 (Private Key):加密貨幣地址的另一部分,是你保密的數字,用來驗證你收到的錢是否真的屬於你。
Thumbnail
全球性的加密貨幣交易所,為超過100種加密貨幣提供交易平台。 電腦版跟手機APP版註冊起來,其實大同小異. 今天註冊是使用電腦註冊~ 可以選擇郵箱或是手機號碼註冊,我是使用手機註冊,畢竟以後還是比較常手機操作. 然後就註冊完成囉~是不是很快呀!!
Thumbnail
全球性的加密貨幣交易所,為超過100種加密貨幣提供交易平台。 電腦版跟手機APP版註冊起來,其實大同小異. 今天註冊是使用電腦註冊~ 可以選擇郵箱或是手機號碼註冊,我是使用手機註冊,畢竟以後還是比較常手機操作. 然後就註冊完成囉~是不是很快呀!!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News