创建唯一密钥并坚持加密的最佳方法是什么?

时间:2016-04-18 13:33:04

标签: ios objective-c encryption

我正在创建一个使用加密的新ios应用。我一直使用的方法需要一个唯一的密钥来加密。像:

onWindowResize()

目前,我使用NSUUID生成唯一ID:

- (NSData *)AES256EncryptWithKey:(NSString *)key;

使用KeychainItemWrapper保存id:

[[NSUUID UUID] UUIDString]

在用户首次打开应用时,会在某个时刻生成唯一ID。

我想知道是否有更好的方法。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

UUID包含非随机的部分。特别是你不希望字符串或密钥长度不正确。键应该是二进制字节数组。

使用Common Crypto SecRandomCopyBytes获取随机密钥。

其他UUID是128位值,您可能需要更长的密钥,例如256位。

答案 1 :(得分:-2)

使用

[[NSProcessInfo processInfo] globallyUniqueString]

以下是Apple对此的描述:

enter image description here