我是新的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