HMAC(ハッシュデータ)を認証目的でURLに対して安全な文字列に変換しようとしています。
(apples暗号ライブラリを使用して)sha256ハッシュから生成されたデータをリトルエンディアンとビッグエンディアンの両方でUnicodeに変換する際に問題が発生しました。あるハッシュ文字列は大きくても小さくはなく、別のハッシュ文字列ではその逆になります。一部のハッシュ文字列では、完全に機能します。範囲外のキャラクターか何かと関係があるのではないかと思います。私がそれが機能しないと言うとき、私はそれがnilを返すことを意味します。
コードは次のようになります。
NSString *mystring = [[NSString alloc] initWithData:myHash encoding:NSUnicodeEncoding
Unicodeを使用するのが最適ですか?UTF8にエンコードしてみましたが、nilが返され、ASCIIにはすべての文字が含まれていません。いくつかの「?」が表示されます。データが欠落している場所。
本当に、私の質問は、sha256ハッシュからNSDataから文字列を作成するにはどうすればよいですか?
解決:
https://github.com/eczarny/xmlrpc
NSData+Base64.hおよびNSData+Base64.m