我是新的iOS swift 3開發。現在,我正在開發一個需要加密,消息認證代碼(MAC)和Hashed-base-MAC的項目。這些算法需要密鑰。我知道,這是一個不好的做法,硬代碼裏面的代碼鍵,如:swift3 - 如何保護密鑰
let key = "secretkeyabc123"
搜索和閱讀像一些文章: In iOS, how can I store a secret "key" that will allow me to communicate with my server?
因爲其他人可以進行逆向工程,我找到一種方法來保護我的鑰匙。要求:
- 沒有哈希鍵。時間允許破解它,或與散列表和字典
- 可能無法連接到互聯網(我的應用程序是一個離線應用程序。如果您的答案需要連接到互聯網。是的,請指出它,我會考慮它)
- 這是一個靜態鍵。它可能每月更改
- 這是一個對稱密鑰。
歡迎使用代碼,概念或其他東西。謝謝!
「時間允許破解它」如果你擔心在宇宙壽命的時間量的時間量,那麼我想是的。 – Alexander