Jump to content

SHA-256: Difference between revisions

Fixed to use digest instead of HMAC.
No edit summary
(Fixed to use digest instead of HMAC.)
Line 803:
 
=={{header|Objective-C}}==
Build with something like
{{incorrect|Objective-C}}
<pre>
<lang objc>#import <CommonCrypto/CommonHMAC.h>
clang -o rosetta_sha256 rosetta_sha256.m /System/Library/Frameworks/Cocoa.framework/Cocoa
</pre>
@implementation AppDelegate
or in XCode.
<lang objc>#import <CommonCryptoCocoa/CommonHMACCocoa.h>
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
#import <CommonCrypto/CommonDigest.h>
NSString* key = @"secret";
NSString* data = @"Message";
const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding];
const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding];
unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];
CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
 
NSMutableString* result = [NSMutableString stringWithCapacity:(CC_SHA256_DIGEST_LENGTH * 2)];
for(CC_LONG i = 0; i < CC_SHA256_DIGEST_LENGTH; i++)
[result appendFormat:@"%02x", cHMAC[i]];
 
int main(int argc, char ** argv) {
NSLog(@"Sha-256: %@", result);
NSString * keymsg = @"secretRosetta code";
 
unsigned char cHMACbuf[CC_SHA256_DIGEST_LENGTH];
}</lang>
const char *cKey rc = [keymsg cStringUsingEncoding:NSASCIIStringEncoding];
if (! CC_SHA256(rc, strlen(rc), buf)) {
NSLog(@"Failure...");
return -1;
}
NSMutableString * resultres = [NSMutableString stringWithCapacity:(CC_SHA256_DIGEST_LENGTH * 2)];
for (CC_LONGint i = 0; i < CC_SHA256_DIGEST_LENGTH; i++i) {
[resultres appendFormat:@"%02x", cHMACbuf[i]];
}
NSLog(@"Sha-256Output: %@", resultres);
return 0;
}
}</lang>
 
=={{header|OCaml}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.