小编ton*_*air的帖子

iOS/Objective C:SHA-1和Base64

我必须将短语'1234'转换为其SHA-1哈希的Base64编码.

我希望:'1234'= cRDtpNCeBiql5KOQsKVyrA0sAiA =(此示例与服务器通信有关)...

但是当我在这些网站上检查手动或在我的XCode项目中使用我的方法时,结果总是不同的:

1234

SHA-1(后http://www.sha1.cz/)7110eda4d09e062aa5e4a390b0a572ac0d2c0220

在Base64之后(http://base64-encoder-online.waraxe.us/)NzExMGVkYTRkMDllMDYyYWE1ZTRhMzkwYjBhNTcyYWMwZDJjMDIyMA ==

这是我的SHA-1功能:

- (NSString *)sha1:(NSString *)str {
    const char *cStr = [str UTF8String];
    unsigned char result[CC_SHA1_DIGEST_LENGTH];
    CC_SHA1(cStr, strlen(cStr), result);
    NSString *s = [NSString  stringWithFormat:
                   @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
                   result[0], result[1], result[2], result[3], result[4],
                   result[5], result[6], result[7],
                   result[8], result[9], result[10], result[11], result[12],
                   result[13], result[14], result[15],
                   result[16], result[17], result[18], result[19]
                   ];

    return [s lowercaseString];
}
Run Code Online (Sandbox Code Playgroud)

对于Base64,我使用这个类:http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html

这是SHA-1和Base64的调用:

 NSString *pwHash =[self sha1:self._txtFieldPW.text]; //In my case '1234'
 NSLog(@"Hash: %@",pwHash); //7110eda4d09e062aa5e4a390b0a572ac0d2c0220
 //7110eda4d09e062aa5e4a390b0a572ac0d2c0220
 NSData *pwHashData …
Run Code Online (Sandbox Code Playgroud)

iphone hash base64 sha1 objective-c

2
推荐指数
1
解决办法
3808
查看次数

标签 统计

base64 ×1

hash ×1

iphone ×1

objective-c ×1

sha1 ×1