Created
August 31, 2018 06:03
-
-
Save GintokiS/f48621706bde8c80e804e391e5eb7de7 to your computer and use it in GitHub Desktop.
HMAC-SHA1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// main.m | |
// sucksha1 | |
// | |
// Created by Dagu on 2018/8/20. | |
// Copyright © 2018年 ORANCORP. All rights reserved. | |
// | |
#import <Foundation/Foundation.h> | |
#import <CommonCrypto/CommonCrypto.h> | |
@interface Suck : NSObject | |
- (void)suck; | |
@end | |
@implementation Suck | |
- (void)suck { | |
// NSString *text = @"a=1252821871&k=AKIDgaoOYh2kOmJfWVdH4lpfxScG2zPLPGoK&t=1436077115&r=11162"; | |
// NSString *fuck = @"a=1252821871&k=AKIDgaoOYh2kOmJfWVdH4lpfxScG2zPLPGoK&t=1528775129&r=1066735099"; | |
NSString *text = @"a=102&k=HYLrmGvcedOoDhICM3uQtgmccInGWxwIui6T&t=1534736308&r=1496929847"; | |
NSString *ssss = @"a=102&k=HYLrmGvcedOoDhICM3uQtgmccInGWxwIui6T&t=1534736308&r=1496929847"; | |
NSLog(@"text.length = %ld", text.length); | |
const char *cKey = [@"o6QkjSswrVRzRgxArOaHmNqVHezeEcEo" cStringUsingEncoding:NSUTF8StringEncoding]; | |
const char *cData = [text cStringUsingEncoding:NSUTF8StringEncoding]; | |
uint8_t cHMAC[CC_SHA1_DIGEST_LENGTH]; | |
CCHmac(kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC); | |
NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:CC_SHA1_DIGEST_LENGTH]; | |
NSLog(@"HMAC = %@", HMAC); | |
NSData *textData = [text dataUsingEncoding:NSUTF8StringEncoding]; | |
NSMutableData *suckData = HMAC.mutableCopy; | |
[suckData appendData:textData]; | |
NSString *b64 = [suckData base64EncodedStringWithOptions:0]; | |
NSLog(@"%@", b64); | |
// | |
// | |
// NSMutableString * output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH * 2]; | |
// | |
// for (int i = 0; i < CC_SHA1_DIGEST_LENGTH; i++) { | |
// [output appendFormat:@"%02x", cHMAC[i]]; | |
// } | |
// | |
// NSLog(@"output: %@", output); | |
// | |
// [output appendString:text]; | |
// | |
// NSData *asdasda = [output dataUsingEncoding:NSUTF8StringEncoding]; | |
// | |
// NSLog(@"asd = %@", [asdasda base64EncodedStringWithOptions:0]); | |
// | |
// | |
// NSString *B64 = @"7YrH7PAlkT7ed4YLAwIKCTmdRw5hPTEwMiZrPUhZTHJtR3ZjZWRPb0RoSUNNM3VRdGdtY2NJbkdXeHdJdWk2VCZ0PTE1MzQ3MzYzMDgmcj0xNDk2OTI5ODQ3"; | |
// | |
// NSData *d1 = [[NSData alloc] initWithBase64EncodedString:B64 options:NSDataBase64DecodingIgnoreUnknownCharacters]; | |
// | |
// NSLog(@"d1.length = %ld, %@", d1.length , d1); | |
// | |
// NSData *tempData = [d1 subdataWithRange:NSMakeRange(20, 70)]; | |
// | |
// NSString *test = [[NSString alloc] initWithData:tempData encoding:NSUTF8StringEncoding]; | |
// NSLog(@"test = %@", test); | |
// | |
// NSData *tempdata2 = [d1 subdataWithRange:NSMakeRange(0, 20)]; | |
// | |
// NSLog(@"temp data2 = %@", tempdata2); | |
// | |
} | |
@end | |
int main(int argc, const char * argv[]) { | |
@autoreleasepool { | |
// insert code here... | |
NSLog(@"Hello, World!"); | |
Suck *s = [[Suck alloc] init]; | |
[s suck]; | |
} | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment