- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试获取一些 python 代码来解密使用 OS X CommonCrypto API 加密的数据。几乎没有关于 CommonCrypto 使用的确切选项的文档,因此我需要一些帮助来确定在 PyCrypto 中设置哪些选项。
具体来说,我的 CommonCrypto 解密设置调用是:
CCCryptorCreateWithMode(kCCDecrypt, kCCModeCFB, kCCAlgorithmAES128, ccDefaultPadding, NULL, key, keyLength, NULL, 0, 0, 0, &mAESKey);
我的主要问题是:
目前,只要我将 segment_size 设置为 16*,前 4 个字节的数据就可以使用 PyCrypto 成功解密。
想法?
最佳答案
在不知道 CommonCrypto 或 PyCrypto 的情况下,一些部分答案:
AES(在所有三种变体中)的 block 大小为 128 位,即 16 个字节。
CFB(密码反馈模式)实际上也可以在没有填充的情况下工作(即使用部分最后一个 block ),因为对于每个 block 密文创建为明文与某个 key 流 block 的 XOR,这仅取决于先前的 block 。(您仍然可以使用任何您想要的填充。)
如果您可以用一些已知数据进行试验,请先查看密文大小。如果它不是 a 的倍数完整 block (和明文+IV一样),那么很可能没有填充。
否则,用noPadding模式解密,看看结果,并与已知的不同填充模式进行比较。
来自glance at the source code ,它可能是 PKCS#5-padding。
CFB8 是 CFB 的一种变体,它仅使用每个 block 密码调用输出的前 8 位(= 一个字节)(采用前 128 位(= 16 字节)的密文(或 IV)作为输入)。这需要 16 倍的分组密码调用,但是允许部分发送流,而不必担心 block 边界。
CFB 的另一个定义包括段大小 - 这里的段大小是从每个密码输出中使用的位(或字节)。在此定义中,“普通”CFB 的段大小为 128 位(= 16 字节),CFB8 的段大小为 8 位(一个字节)。
关于macos - PyCrypto 在 CFB 模式下与 CommonCrypto 的兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608731/
我在导入 CommonCrypto/CommonCrypto 或 CommonCrypto/CommonDigest 时遇到问题。我的 Swift 代码需要 SHA256。 我在 Cocoapods
module.map 创建文件 在文件中添加如下代码, module CommonCrypto [system] { header "/usr/include/CommonCrypto/Commo
我有在 Windows 平台中使用的密码代码,它使用 Crypto API 函数,需要将其转换为在 OS X 上使用 Common Crypto。 基本上原始代码是这样的,为简洁起见删除了错误检查:-
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我正在构建一个混合语言框架。我主要有 Swift 文件和一些 Objective-C 文件。 其中一个 Objective-C 文件是一个使用 CommonCrypto 的加密类。 似乎由于某种原因我
我对如何让这个 podspec 起作用感到很生气。 我正在开发一个 swift 框架,需要 CommonCrypto。在使其适用于每个团队(Cordova、React)的许多问题之后,这就是 Comm
我已经安装了最新版本的 Kingfisher 即 pod 'Kingfisher', '~> 5.0',但是当我尝试构建我的项目时,我收到以下信息编译错误: 没有这样的模块 'CommonCrypto
由于 Apple 已弃用在 iOS 中使用 openSSL,因此我需要在其中一个 iOS 安全框架中替代 PBKDF2。我试图搜索 CommonCrypto,但没有成功。 是否有苹果推荐的 PBKDF
我正在开发适用于 Android 和 IOS 的应用程序 对于 Android,我使用“AES/CBC/NoPadding”密码,对于 IOS,我使用 CommonCrypto,其算法/模式/填充与
准备将我的应用程序提交到 Apple 的 Itunes 商店并在提交过程中对一个问题感到困惑:“导出法律要求包含加密的产品必须获得适当的导出授权……您的产品是否使用加密? " 我使用 CommonCr
这个问题在这里已经有了答案: Where can I get CommonCrypto / CommonCrypto file from? (2 个答案) 关闭 5 年前。 如何将 Obj-C Co
指南是在桥接 header 中使用#import "CommonCrypto/CommonCrypto.h"。这是来自以下问题:SHA256 in swift . 但是,当我使用 Andi 和 Gra
如何导入 CommonCrypto在 iOS 的 Swift 框架中? 我了解如何使用 CommonCrypto在 Swift 应用程序中:您添加 #import 到桥接头。但是,Swift 框架不支
我正在尝试从 VB.NET 重新创建 PasswordDeriveBytes 的实现,到目前为止,我已经在 iOS Objective C 代码中实现了它,它给我带来了与 Java 实现不同的结果。
由于 CCKeyDerivationPBKDF 在 iOS 5.0 之后才可用,因此人们建议使用此处提供的 CommonCrypto 开源代码: http://www.opensource.apple
我添加了“NSData+CommonCrypto.h”和“NSData+CommonCrypto.m”以使用 sha256。我还添加了桥接 header “chekit-Bridging-Header
我创建了一个简单的库来使用 Swift 的 HMAC 摘要,名为 "SweetHMAC "。这个库非常简单,基本上是 Swift 中 CommonHMAC.h 的包装器。 我可以正确地使用 Sweet
这就是我到目前为止生成加密 key 的方式: unsigned char *salt; //8 salt bytes were created earlier unsigned char *passw
我正在将一些代码从 OSX 上的 C 移植到使用 CommonCrypto 和 kCN_CRC_64_ECMA_182 CRC64 实现的 C#。例如,使用 CommonCrypto,CRC 将通过以
当我尝试使用错误的 key 解密密文时,CCCrypt 返回 kCCDecodeError。 问题是,它这样做是否可靠(例如,我是否保证如果它返回成功,我的输入 key 就是用于加密纯文本的 key
我是一名优秀的程序员,十分优秀!