在 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 中使用 des64 和 des192 加密字符串。 我搜索了互联网并找到了一些代码,但问题是我不太了解密码学。我听说在 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 加密算法加密字符串?的主要内容,如果未能解决你的问题,请参考以下文章