下面是代码:
NSString *decryptResponseString = [AESCrypt decrypt128:responseString key:@"a16byteslongkey!"];
NSString *lisence = [NSString createLisence:self.serial withSalt:sha_salt];
NSLog(@"lisence: %@", lisence);
NSLog(@"decrypt: %@", decryptResponseString);
int a = [lisence isEqualToString:decryptResponseString]?1:0;
NSLog(@"%i", a);这是日志:
2012年-12-16 15:52:30.249 TextLabelButton1430 1430:11303许可: 3b27cde24235d08a5de5904a4 2012年-12-16 15:52:30.250 TextLabelButton1430 1430:11303解密: 3b27cde24235d08a5de5904a4 2012年-12-16 15:52:30.250 TextLabelButton1430 1430:11303 0
当我使用[lisence isEqualToString:decryptResponseString]或(lisence == decryptResponseString)时,我不知道为什么结果总是"0“。
发布于 2012-12-16 16:25:13
我会检查字符串长度是否相同。
如果不是,如果两端都有空格,那就取决于字符串生成函数了。
如果您想摆脱前导和尾随字符串,请使用NSString的方法,例如
NSString *trimmedString = [strimToTrim stringByTrimmingCharactersInSet:[NSCharacterSet whiteSpaceCharacterSet]];您可以读取它的文档,这里
发布于 2012-12-16 17:19:57
摆脱空间的一种解决办法:
id trimmedDecrypt = [decrypt stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
BOOL r = [license isEqualToString:trimmedDecrypt];https://stackoverflow.com/questions/13903101
复制相似问题