当前位置: 首页 > 知识库问答 >
问题:

目标c中的Aes-128 cfb8加密

冯旭
2023-03-14

我目前正在尝试在objective c中加密一个aes-128 cfb8格式的字符串。我已经到处寻找,但似乎无法找到一个可行的解决方案。Bouncy castle是一个理想的解决方案,但是它只适用于java和c#。openssl是这里的最佳选择吗?我似乎找不到任何使用openssl加密的详细方法。请指引我正确的方向。切换到另一种加密方式是不可行的。

共有2个答案

羊慈
2023-03-14

我目前正在为一个医疗单位制定安全协议。我绝对相信openssl是加密数据的最佳方法。尽可能使用本机文件系统来卸载工作并减少开发时间,而不会引入错误代码。也就是说,我对objective-c非常陌生。

  1. 使用你的 objective-c 程序来构造命令行。
  2. 使用 objective-c 程序将该命令行传递给 shell。
  3. 让外壳处理您的加密。
  4. 从外壳接收 openssl 结果并处理结果以确定是否发生任何错误。 @“” 表示没有错误。

祝你好运。抱歉,我不能提供任何详细的Objective-C代码,我刚刚开始这个星期的Objective-C和熟悉做我所有的其他语言的代码基础。但是每种语言都有一个shell接口,毫无疑问,这是您的最佳选择。

沈弘盛
2023-03-14

CommonCryptor应支持使用kCCModeCFB8的CFB-8。有关详细信息,请参见CCCrypt的手册页。

也就是说,我总是警告人们在用CommonCryptor这样的低级库手工实现这种东西时要非常小心。非常容易做错。例如,您必须使用KDF从密码中正确地生成密钥(您不能只是将密码字节复制到密钥数据中),IV必须是随机的,否则CFB会失去一些安全性(更具体地说,您绝不能重用同一个密钥和IV)。

如果您对这些问题不熟悉,请参阅使用AES正确加密,使用通用密码和迈克·阿什的周五Q

 类似资料:
  • 我试图在objective c中加密/解密一个AES-128 GCM格式的字符串。我到处都找过了,但似乎找不到有效的解决方案。

  • 问题内容: 我似乎找不到使用AES 128位加密的漂亮示例。 有人有示例代码吗? 问题答案: 如果您只想使用内置的加密提供程序RijndaelManaged,请查看以下帮助文章(它也有一个简单的代码示例): http://msdn.microsoft.com/zh-CN/library/system.security.cryptography.rijndaelmanaged.aspx 以防万一您急

  • 我正在创建一个应用程序,我保存了一些隐私文档。我想把那些文件保存为加密格式。 我在谷歌搜索C语言的AES加密/解密alto。我找不到实现AES的标准算法。

  • 我试图解密C#加密数据在Java没有成功。我用的是128位密钥 这是java代码: 你知道会出什么问题吗? 谢谢 使现代化 对不起,我太笨了,我忘了写实际的错误消息。这是: 线程“main”javax中出现异常。加密。BadPaddingException:组织中的填充块已损坏。弹跳船舱。jcajce。供应商。对称的。util。基本分组密码。javax上的engineDoFinal(未知源代码)。

  • 我希望有一个用C编写的程序,可以在没有openssl这样的大型库的帮助下,用AES-CBC对字符串进行编码/解码。 目标: 使用密码短语对字符串进行编码/解码: 因此,应用程序需要接受3个输入参数。。。 输入字符串(待编码)/或已编码字符串(待解码) 用于编码/解码字符串的密码 编码或解码指示器 我对C语言不熟悉(我可以用C#编码)。 我已经找到了https://github.com/kokke/

  • 本文向大家介绍标准PHP的AES加密算法类,包括了标准PHP的AES加密算法类的使用技巧和注意事项,需要的朋友参考一下 分享一个标准PHP的AES加密算法类,其中mcrypt_get_block_size('rijndael-128', 'ecb');,如果在不明白原理的情况下比较容易搞错,可以通过mcrypt_list_algorithms函数查看你需要的加密算法标识。 以上就是本文所述的全部内