相关疑难解决方法(0)

使用HMAC SHA1的CCKeyDerivationPBKDF通常返回-1

当我使用CCKeyDerivationPBKDFfrom时#import <CommonCrypto/CommonKeyDerivation.h>,它返回的-1是未定义的结果。我不知道我是否想念什么。如果我使用HMAC MD5或其他算法,它可以返回成功,并且只有在使用HMAC SHA1它时,它才会返回不良状态。

int feedback = CCKeyDerivationPBKDF(kCCPBKDF2, clearTextData.bytes, clearTextData.length, secretData.bytes, secretData.length, kCCHmacAlgSHA1, 2048, result, sizeof(result)); 
Run Code Online (Sandbox Code Playgroud)

objective-c ios

3
推荐指数
1
解决办法
1515
查看次数

在IOS中实施AES256加密

这是我的java代码.现在我想在Objective-C中实现相同的功能.

Cipher encryptCipher;
IvParameterSpec iv = new IvParameterSpec(key);
SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
encryptCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
encryptCipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
byte[] encrypted = encryptCipher.doFinal(dataToEncrypt.getBytes());
Log.d("TAG", "encrypted string:"
        + Base64.encodeToString(encrypted, Base64.DEFAULT));
return Base64.encodeToString(encrypted, Base64.DEFAULT).trim();
Run Code Online (Sandbox Code Playgroud)

这是我的iOS实现

- (NSData *)AES256EncryptWithKey:(NSString*)key
{
    char keyPtr[kCCKeySizeAES256 + 1];
    bzero(keyPtr, sizeof(keyPtr));
    [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];

    NSUInteger dataLength = [self length];

    size_t bufferSize           = dataLength + kCCBlockSizeAES128;
    void* buffer                = malloc(bufferSize);

    size_t numBytesEncrypted    = 0;
    CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt,
                                  kCCAlgorithmAES128,
                                  kCCOptionPKCS7Padding,
                                  keyPtr,
                                  kCCKeySizeAES256,
                                  NULL,
                                  [self bytes],
                                  dataLength,
                                  buffer, …
Run Code Online (Sandbox Code Playgroud)

iphone encryption aes nsdata commoncrypto

3
推荐指数
1
解决办法
6126
查看次数

标签 统计

aes ×1

commoncrypto ×1

encryption ×1

ios ×1

iphone ×1

nsdata ×1

objective-c ×1