ログインとして機能する Web サービスと統合する必要があります。ハッシュはクライアントで生成する必要があります。正しいハッシュを NSMutableData として生成することはできますが、NSMutableData オブジェクトが出力コンソールで文字列としてレンダリングされるときに生成されるスペースやブラケットを使用せずに、それを文字列に変換する必要があります。私はいくつかの投稿を読みましたが、すべて同じことを言っているようです:
NSString *newstring = [[NSString alloc] initWithDSata:dataToConvert encoding:NSUTF8StringEncoding];
残念ながら、これは私にはうまくいきません。NSUTF8StringEncoding を使用すると null が返されます。NSASCIIStringEncoding はさらに悪いです。
これが私のコードです:
NSString *password = [NSString stringWithFormat:@"%@%@", kPrefix, [self.txtPassword text]];
NSLog(@"PLAIN: %@", password);
NSData *data = [password dataUsingEncoding:NSASCIIStringEncoding];
NSMutableData *sha256Out = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH];
CC_SHA256(data.bytes, data.length, sha256Out.mutableBytes);
NSString *preppedPassword = [[NSString alloc] initWithData:sha256Out encoding:NSASCIIStringEncoding];
NSLog(@"HASH: %@\n", preppedPassword);
NSMutableData を文字列に変換するにはどうすればよいですか?
私の問題は、これからする必要があることです
<7e8df5b3 17c99263 e4fe6220 bb75b798 4a41de45 44464ba8 06266397 f165742e>
これに
7e8df5b317c99263e4fe6220bb75b7984a41de4544464ba806266397f165742e