问题标签 [commoncrypto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在 Swift 中使用 CCCrypt (CommonCrypt) 的问题
我正在将一个有效的 Objective-C 类别 (NSData+AESCrypt.m) 移植到 Swift,我发现使用指针时存在问题。Swift 中加密部分的代码可以正确编译,但会生成运行时 EXEC_BAD_ACCES 错误。
到目前为止我的代码是(我试图尽可能地剖析代码):
encryptedData 对象显示以下信息:
但是 encryptedString 显示0x0000000000
在调试器中,并尝试println()
生成 EXEC_BAD_ACCESS 错误
知道缺少什么吗?
rgds....
objective-c - 在 Swift 中使用 CommonCrypto 解密的问题
我正在为 and 进行crypt/decrypt 工作,Swift-only
crypt部分的工作基于@Zaph 在链接问题中提供的答案:Issue using CCCrypt (CommonCrypt) in SwiftExtension
String
NSData
crypt 输出是使用 Objective-C 中良好的旧 NSData+AESCrypt.m 类别测试的
我一直在处理解密部分的问题:代码编译并运行良好,但结果不是最初加密的预期文本。
如您所见,String.encryptStringWithKey()
调用NSData.encryptDataWithKey()
. 所以扩展适用于两种类型String
和NSData
任何帮助将不胜感激
c# - 使用由 iOs CCCrypt 函数使用 AES 生成的 C# 解密 base64 字符串
有人可以帮助将下面 iOS 代码生成的 base64 字符串解密为 C# 等效项。
我试图在 c# 中以“晚上 8 点在秘密地点与我会面”结束。
iOS 生成以下加密:qd+SGaij5KSBScuLs3TpJS/3Dew8fHTudcs/5MG7Q1kqcrZzZycMgTcQuEEEED5f
此 iOS 代码成功地按照 XCode 6 中的要求加密和解密数据。
预先感谢您的帮助和支持。
达伦
ios - 使用 RSA 私钥签署 NSData
我正面临一个问题,从我的角度来看,Apples 文档中没有很多描述。
我需要使用后台提供的 RSA 私钥对 NSData 进行签名。私钥以字符串的形式接收。
如何做到这一点?我不想创建自己的密钥对,我只想使用单个 PRIVATE 密钥来签署 NSData。
我找到了几个使用 OPENSSL 的解决方案,但它们都不起作用,而且我无法找到任何适合我的本地 CommonCrypto 库问题的解决方案。
事实上,这是我需要复制的一段 Android 代码:
- 这个返回私钥,它是从存储在应用程序数据库中的字符串生成的
- 这以 base64 字符串的形式返回有符号字节数组
如何在 iOS 中实现这一点?我花了很多时间在网上搜索并尝试了几种方法,但都没有成功。
我会非常感谢任何代码片段,因为像“CommonCrypto 应该这样做”这样的提示对我不起作用。
非常感谢
objective-c - AES CBC 中的 CCCrypt 解密即使没有 IV 也可以工作
我有一个令人困惑的问题,其中解密使用 CCCrypt 的 AES-CBC 模式和随机 16 字节 IV 加密的文件会产生完全相同的输出,无论我传入用于加密的相同正确 IV 还是根本不传递。
我的期望:使用 NULL IV 进行解密不应导致正确的解密。我观察到:使用 NULL IV 会产生与用于加密的 IV 相同的结果。
为了完整起见,下面是重要的代码片段,iv
作为 16 字节的安全随机 NSData 传入。
我在这里不明白什么?CCCrypt 是否以某种方式自行从加密数据中找出 IV?我在文档中找不到任何相关内容。
编辑:
为了详细说明这一点,无论我使用哪种 IV 进行解密(尝试了几个不同的随机 IV),我总是会逐字节地得到相同的结果。即使我只解密了加密文件中间某处的部分加密文件。
这可能与我正在加密/解密的实际数据(mp3 文件)有关吗?
当我只是将一些实际加密文件的任意块传递给解密器时,它是否不应该要求该块数据(我没有明确提供作为 IV)之前的块来进行正确的解密?我个人能想到的唯一解释是 CCCrypt 总是使用前 16 字节作为 IV,并且不解密这些,而是将它们丢弃在输出中。
编辑2:
加密/解密的输出,显示输入和输出数据的前两个块,密钥和 iv:
编辑 3:
的代码-dataForHex:
是:
objective-c - 使用 CCCrypt kCCOptionPKCS7Padding-Objective C 确定密钥是否不正确
我正在对存储在我的应用程序中的数据进行加密。我在加密和解密数据方面已经走得很远了,我的问题是,当使用错误的密钥时,我似乎无法强制出现明显的解密错误。我的解密功能:
}
这取自http://robnapier.net/aes-commoncrypto以供参考。
根据 CCCrypt 文档,如果我的数据没有正确解密,我应该会收到一个 kCCDecodeError,所以我假设解密操作是成功的,只是由于错误的密钥而给出了垃圾数据。
那么,确定是否使用正确的密钥来解密数据的最佳实践是什么?
ios - How to use CCHmac in iOS?
I want to generate SHA512 with salt in iOS. I found following snippet to achieve this but I found that CCHmac()
function is for mac.
If I use CC_SHA512()
function, then how will I use the salt string?
android - iOS:AES 加密
我在 iOS 中得到了错误的加密,android 运行良好,这里是两个代码。
这是Android AES加密代码。
这是我用于 iOS 加密的。
http://pastie.org/426530#7,9-12,15-17,21-26
您能否检查一下两种加密方式有何不同。
c++ - 使用 Common Crypto 和 Crypto++ 使用 AES 加密时的不同结果
当使用 Apple 的 Common Crypto 和 Crypto++ 使用相同的密钥加密相同的文件(二进制数据)时,我会得到不同的结果。我使用的算法是 AES。
这是 Objective C 中使用 Common Crypto 的代码:
这是使用 Crypto++ 的 C++ 代码
我需要让他们两个产生相同的结果。有什么我忽略的吗?
c# - 没有等同于 CommonCrypto 的 CRC64 实现?
我正在将一些代码从 OSX 上的 C 移植到使用 CommonCrypto 和kCN_CRC_64_ECMA_182
CRC64 实现的 C#。例如,使用 CommonCrypto,CRC 将通过以下方式计算:
CNCRC(kCN_CRC_64_ECMA_182, bytes, bytesLen, &crcResult)
这会输出正确的值。当使用 C# 库 HashLib(或任何其他代码)时,输出完全不同,例如,上面使用 HashLib 的等价物将是:
var checksum = HashFactory.Checksum.CreateCRC64(0x42F0E1EBA9EA3693UL); // ECMA 182
var result = checksum.ComputeBytes(bytes);
有任何想法吗?就输出而言,C# 中是否有与 Apple 的 CommonCrypto 等效的实现?