我需要在Objective C中进行以下过程创建签名的过程:
我被困在哪里开始。我能够在C#中完成这项任务,但在Objective C甚至ANSI C中都是亏本的。
我使用以下命令从初始NSString获取UTF8String:
[NSString UTF8String]
希望你能提供帮助。
答案 0 :(得分:1)
您提到您在使用字符串转换时遇到问题,这就是您要转换为ASCII的内容:
NSString* src = @"";
NSData* data = [src dataUsingEncoding: NSASCIIStringEncoding allowLossyConversion: YES];
NSString* ascii = [[NSString alloc] initWithData: data encoding: NSASCIIStringEncoding];
执行按位操作有点复杂。你会想要在C语言中这样做:
NSString* src = <MD5 hashed result>
NSMutableString* dst = [[NSMutableString alloc] initWithCapacity: src.length];
for(NSUInteger i=0;i<src.length;i++) {
unichar c = [src characterAtIndex: i];
[dst appendFormat: @"%d", (c & 127)];
}
//Base64 encode dst
第三方应该告诉你如果需要它怎么做。