Objective-C
Objective-C
Hash Binary Data (SHA256 and other hash algorithms)
Demonstrates how to hash binary bytes using SHA256, SHA384, SHA512, MD2, MD5, HAVAL, RIPEMD, etc.Chilkat Objective-C Downloads
#import <CkoBinData.h>
#import <CkoCrypt2.h>
#import <CkoStringBuilder.h>
#import <NSString.h>
BOOL success = NO;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Let's load a binary file to get the bytes..
CkoBinData *jpgData = [[CkoBinData alloc] init];
success = [jpgData LoadFile: @"qa_data/jpg/starfish.jpg"];
if (success != YES) {
NSLog(@"%@",@"Failed to load file.");
return;
}
NSData jpgBytes;
jpgBytes = [jpgData GetBinary];
CkoCrypt2 *crypt = [[CkoCrypt2 alloc] init];
// Choose the hash algorithm.
// Can be "sha1", "sha256", "sha384", "sha512", "md2", "md5", "haval", "ripemd128", "ripemd160","ripemd256", or "ripemd320".
crypt.HashAlgorithm = @"sha256";
NSData hashBytes;
hashBytes = [crypt HashBytes: jpgBytes];
// Let's examine the hash as a hex string.
CkoStringBuilder *sb = [[CkoStringBuilder alloc] init];
[sb AppendEncoded: hashBytes encoding: @"hex"];
NSLog(@"%@%@",@"SHA256 hash = ",[sb GetAsString]);
// We could alternatively hash the bytes and receive the hex result directly:
crypt.EncodingMode = @"hex";
NSString *hashHexStr = [crypt HashBytesENC: jpgBytes];
NSLog(@"%@%@",@"SHA256 hash = ",hashHexStr);