在 iPhone sdk 中使用 Des64 和 Des192 加密算法加密字符串?

Posted

技术标签:

【中文标题】在 iPhone sdk 中使用 Des64 和 Des192 加密算法加密字符串?【英文标题】:encrypt a string using Des64 and Des192 encryption algorithm in iPhone sdk? 【发布时间】:2010-12-30 06:17:00 【问题描述】:

我想在 iPhone 中使用 des64des192 加密字符串。 我搜索了互联网并找到了一些代码,但问题是我不太了解密码学。我听说在 iPhone 中我们可以使用具有加密功能的安全框架。但它们完全是基于 c 的,而且很难理解。

谁能指导我一些有用的资源或解释用于在 iPhone 中加密的代码???

提前致谢!!

巴拉特

【问题讨论】:

没有采用 64 位或 192 位密钥的 DES 模式。 DES(和 3DES)的块大小总是 64 位。我不知道您所说的 DES64 或 DES192 是什么意思。 @Yann - 是的,实际上 DES 是 Des64,3DES 是 Des192(因为 3 DES 需要 3 * 64 = 192 位)。 @Bharat,您可以将 3DES 称为 DES192,但我认为人们不会对发明的命名法印象深刻。 @Vineet:是的,可能是。 .但我关心的不是那个。 不,单个 DES 有 56 位密钥,3DES 有 168 位密钥。没有像 DES192 这样的东西。 (存在 192 位 AES) 【参考方案1】:

抱歉,加密通常并不简单。 iPhone Developer Library 有一个示例项目,其中包括一些使用 Objective-C 的对称加密。

但基本上,您遵循这些步骤(不特定于任何特定的加密 API)。

init_crypto_library();

key k = crypto_load_key("my/key.dat");
cipher c = crypto_init_cipher(k, CBCMODE);

while ( char* buf == get_plaintext() )
  crypto_encrypt( c, buf );

char* encrypted = crypto_finalize_cipher( c );
crypto_unload_key( k );

您应该始终尝试考虑密钥在您的系统中的安全性。你真的不能相信它会永远安全。

【讨论】:

以上是关于在 iPhone sdk 中使用 Des64 和 Des192 加密算法加密字符串?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ZBar SDK 的 iPhone 应用程序的验证错误

使用弱密钥暴力破解 DES

DES算法和RSA算法的区别

详细解析DES系列加密技术

Base64和3DES算法

对称加密算法之DES介绍