@@ -32,15 +32,15 @@ const unsigned char *salt, size_t saltLength, const char *password, size_t passwordLength, unsigned char *key, size_t keyLength) { void *pool = objc_autoreleasePoolPush(); - size_t blocks, digestSize = [HMAC digestSize]; + size_t blocks, digestSize = HMAC.digestSize; OFSecureData *buffer = [OFSecureData dataWithCount: digestSize]; OFSecureData *digest = [OFSecureData dataWithCount: digestSize]; - unsigned char *bufferItems = [buffer items]; - unsigned char *digestItems = [digest items]; + unsigned char *bufferItems = buffer.mutableItems; + unsigned char *digestItems = digest.mutableItems; OFSecureData *extendedSalt; unsigned char *extendedSaltItems; if (HMAC == nil || iterations == 0 || salt == NULL || password == NULL || key == NULL || keyLength == 0) @@ -52,11 +52,11 @@ if (saltLength > SIZE_MAX - 4 || blocks > UINT32_MAX) @throw [OFOutOfRangeException exception]; extendedSalt = [OFSecureData dataWithCount: saltLength + 4]; - extendedSaltItems = [extendedSalt items]; + extendedSaltItems = extendedSalt.mutableItems; @try { uint32_t i = OF_BSWAP32_IF_LE(1); [HMAC setKey: password @@ -70,18 +70,18 @@ memcpy(extendedSaltItems + saltLength, &i, 4); [HMAC reset]; [HMAC updateWithBuffer: extendedSaltItems length: saltLength + 4]; - memcpy(bufferItems, [HMAC digest], digestSize); - memcpy(digestItems, [HMAC digest], digestSize); + memcpy(bufferItems, HMAC.digest, digestSize); + memcpy(digestItems, HMAC.digest, digestSize); for (size_t j = 1; j < iterations; j++) { [HMAC reset]; [HMAC updateWithBuffer: digestItems length: digestSize]; - memcpy(digestItems, [HMAC digest], digestSize); + memcpy(digestItems, HMAC.digest, digestSize); for (size_t k = 0; k < digestSize; k++) bufferItems[k] ^= digestItems[k]; }