【问题标题】:how to use DES algorithm to encrypt or decrypt some data in object-c?如何使用DES算法对object-c中的一些数据进行加密或解密?
【发布时间】:2011-01-05 06:19:40
【问题描述】:

现在我想在object-c中使用DES算法加密或解密一些数据,有人能给我一些建议吗?

【问题讨论】:

  • 您是否可以选择使用更安全的算法(如 AES)加密数据? DES 已被证明是不安全的。 en.wikipedia.org/wiki/Data_Encryption_Standard。您是打算在发送数据时对其进行加密,还是打算在手机上加密并存储数据?

标签: iphone objective-c


【解决方案1】:

第一点。 AES 已取代 DES 成为事实上的加密标准,至少对银行业而言是这样。

第二点:不管你决定什么算法,这都是你必须要做的。

  1. 将 Security.framework 添加到您的项目中。
  2. 导入“CommonCrypto/CommonCryptor.h”文件。这包含对称加密的所有接口。
  3. 使用此类中的方法,您可以定义加密算法(AES、DES 等)、密钥大小、要使用的填充等。
  4. 如果需要,您必须选择用于加密/解密的一次性 API (CCCrypt()) 或更高级的选项。

希望这会有所帮助。如果您需要任何特定信息,请告诉我。

【讨论】:

  • 有详细例子,不知道怎么用
  • 详情...详情请!我有一个非常古老的 ntlm 身份验证代码,它使用 DES ebb - 但使用的是 openSSL API。现在 openSSL 终于从 MacOS(以及很久以前的 iOS)中删除了,所以我必须转换代码以使用 commonCrypto API - 但我觉得很难,因为我不熟悉加密参数、算法等......所以一个小样本将不胜感激。
【解决方案2】:

代码示例可以在How to encrypt an NSString in Objective C with DES in ECB-Mode?中找到

正如参考主题所述,您必须记住 DES 使用 56 位(7 字节)密钥和 64 位(8 字节)块。

虽然 DES 是对称的,但您必须通过向 CCCrypt 函数提供 kCCDecrypt 选项来解密数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多