Удалить пробелы в выводе SHA256

Может кто-нибудь решить мою проблему, связанную с SHA256 в iOS?

#import <CommonCrypto/CommonDigest.h>

NSData *dataIn = [@"XXXXX" dataUsingEncoding:NSASCIIStringEncoding];
NSMutableData *macOut = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH];

CC_SHA256(dataIn.bytes, dataIn.length,  macOut.mutableBytes);

NSLog(@"dataIn: %@", dataIn);
NSLog(@"macOut: %@", macOut);

Я получаю вывод, как это:

2014-10-14 10:46:43.602 sha256[480:70b] dataIn: <416e616e 64>
2014-10-14 10:46:43.604 sha256[480:70b] macOut: <e9fb6a39 4db5ffd6 dba9b31a c7d9a90d 56f90767 afaf1e14 d6dcaa37 db180932>

что мне действительно нужно, мне нужно удалить пространство в macOut. то есть как это

2 ответа

Решение

Добавьте это ниже вашего кода:

NSString *macOutString = [NSString stringWithFormat:@"%@", macOut];
NSString *encryptedString = [macOutString stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"macOut: %@", encryptedString);

Вы также можете проверить шифрование с - http://www.xorbin.com/tools/sha256-hash-calculator

Создайте NSData, категорию NSString, используйте этот код по адресу https://github.com/mdznr/iOS-Passcode/blob/master/Passcode/NSString%2Bsha256.m

Другие вопросы по тегам