我正在为iMac和iPhone构建一个应用程序。这个应用程序的目标是加密纯文本消息,电子邮件,密码,日期等。我做了一些研究,发现3DES可以很好地工作,并且非常安全。有人知道如何在Objective-C中为iPhone或Mac实现3DES吗?任何帮助都将不胜感激!谢谢!
发布于 2011-06-26 00:43:10
DES是一个不再安全的旧标准,因为它的密钥长度很短;3DES是使其更安全的一种方法(使用三倍多的密钥位)。但是新的标准是AES,如果您找不到(或不喜欢)任何适合您需要的DES库,您可以尝试一下。例如,您可以使用OpenSSL或libgcrypt。
但我不会从头开始实现这些。实现加密算法有点棘手。你需要小心填充,随机数生成器,你应该意识到这些算法的教科书描述通常是简化的(对于现实世界的使用是不安全的)。如果你真的想实现加密,有一本书可能会对你有所帮助,那就是文博毛的。如果你是数学方向的,你也可以使用Katz和Lindell的。
发布于 2011-06-26 03:37:03
iOS和OS都有CommonCrypto库,它提供了AES、3DES和DES等的实现。编写自己的加密库是困难的,容易出错,并且可能导致错误。此外,如果你编写自己的加密库,那么如果你打算把它放到App Store中,你必须声明它,并通过美国政府的批准程序。
发布于 2011-06-26 00:34:08
当有众所周知的用C和/或C++实现的版本时,尝试在Objective-C中重新实现DES或任何其他加密算法可能没有多大意义。您可以简单地从Objective-C程序中调用其中的任何一个。
https://stackoverflow.com/questions/6478901
复制相似问题