在 Swift 幫 SymmetricKey 加鹽

閱讀時間約 1 分鐘
本篇的 sample code 都需要使用 Apple 的 CryptoKit
import CryptoKit

程式碼

為了增加 SymmetricKey (對稱密鑰)的獨特性和安全性,可以透過「加鹽」的手法在生成的時候加入其他的值。例如會員 ID 以及當下時間等具有獨特性的資料。
generated by https://ray.so/

將需要結合的資料轉換成 Data

String 和 Date 都能用一樣的方法轉換成 Data
生成一個基底密鑰
這個 Key 預期會給 256-bit 的 AES.GCM 使用,因此這邊都用 .bits256
let originalKey = SymmetricKey(size: .bits256)

用 SHA256 將三者結合並重新生成

透過 SHA256 的雜湊方法,將三者結合再一起就可以用來生成新的 SymmetricKey。

如何使用

例如要加密一個信用卡號碼時,在呼叫 AES.GCM 的 seal 的方法時傳入加鹽生成的 key 即可:
generated by https://ray.so/
avatar-img
2會員
4內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
CryptoSwift提供多種標準的加密演算法,並支援字串與資料之間的轉換。
Thumbnail
比特币密钥不是单纯的数字,而是一对相关的数字,包括私钥和公钥,用于控制比特币的所有权和交易权限,涉及安全性、可用性和挖矿算例调整等。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币的核心原理就是通
Thumbnail
# 加密貨幣:掌握金融未來的顛覆性技術 加密貨幣是當今金融科技領域最具革命性的創新之一。它以區塊鏈技術為基礎,顛覆了傳統中央銀行和金融機構主導的貨幣體系,為個人和企業帶來了全新的支付和投資方式。 ## 什麼是加密貨幣? 加密貨幣是一種數字化的虛擬貨幣,利用密碼學原理和分散式賬本技術
在今日數位化的世界中,保護資料的安全性尤為重要。加密憑證(SSL/TLS Certificates)扮演著確保網站和用戶之間資料傳輸安全的重要角色。本文將深入探討加密憑證的原理、作用以及如何選擇適合的加密憑證來保護您的網站。 1. 加密憑證的基本概念 加密憑證是一種數位檔案,用於證明網站身份的真
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
Thumbnail
進入區塊鏈/Web3的世界,首先需要擁有一個錢包或帳號。本文從重要名詞和觀念入手,介紹公鑰和私鑰的重要性,以及助記詞的作用。探討加密錢包的種類,從私鑰控制權和網路連接的角度進行分類。同時提醒了私鑰保管的重要性,以及在交易所和網路交互中的安全提醒。最後透過實際案例介紹了社交工程和釣魚的危害。
SHA-256簡介 SHA-2,名稱來自於安全雜湊演算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼雜湊函數演算法標準,由美國國家安全局研發,由美國國家標準與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演
CryptoSwift提供多種標準的加密演算法,並支援字串與資料之間的轉換。
Thumbnail
比特币密钥不是单纯的数字,而是一对相关的数字,包括私钥和公钥,用于控制比特币的所有权和交易权限,涉及安全性、可用性和挖矿算例调整等。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 比特币的核心原理就是通
Thumbnail
# 加密貨幣:掌握金融未來的顛覆性技術 加密貨幣是當今金融科技領域最具革命性的創新之一。它以區塊鏈技術為基礎,顛覆了傳統中央銀行和金融機構主導的貨幣體系,為個人和企業帶來了全新的支付和投資方式。 ## 什麼是加密貨幣? 加密貨幣是一種數字化的虛擬貨幣,利用密碼學原理和分散式賬本技術
在今日數位化的世界中,保護資料的安全性尤為重要。加密憑證(SSL/TLS Certificates)扮演著確保網站和用戶之間資料傳輸安全的重要角色。本文將深入探討加密憑證的原理、作用以及如何選擇適合的加密憑證來保護您的網站。 1. 加密憑證的基本概念 加密憑證是一種數位檔案,用於證明網站身份的真
Thumbnail
開設加密貨幣錢包是開始使用加密貨幣的重要一步。以下是開設不同類型加密貨幣錢包的詳細步驟:
Thumbnail
進入區塊鏈/Web3的世界,首先需要擁有一個錢包或帳號。本文從重要名詞和觀念入手,介紹公鑰和私鑰的重要性,以及助記詞的作用。探討加密錢包的種類,從私鑰控制權和網路連接的角度進行分類。同時提醒了私鑰保管的重要性,以及在交易所和網路交互中的安全提醒。最後透過實際案例介紹了社交工程和釣魚的危害。
SHA-256簡介 SHA-2,名稱來自於安全雜湊演算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼雜湊函數演算法標準,由美國國家安全局研發,由美國國家標準與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演