1

CCHmac-sha256 のヘルプが必要です。iOS と Java でプレーン テキストをダイジェストすると、同じ出力が得られません。以下のコードを参照して、この問題を解決する方法を教えてください。

iOS コード

CCHmac(kCCHmacAlgSHA256,cKey,strlen(cKey),cData,strlen(cData),cHMAC);   
NSData *hashedPassword2 = 
    [NSData dataWithBytes:cHMAC length:CC_SHA256_DIGEST_LENGTH];

この nsdata を base32 文字列に変換しています

Java コード

MessageDigest md = MessageDigest.getInstance("SHA-256");    
md.update(s1.getBytes());    
byte[] h = md.digest();    
Base32 base32 = new Base32();    
String base32_h = replaceIllegalCharacters(base32.encodeAsString(h));    
System.out.println("\n"+base32_h+"\n");    
String cc1 = base32_h.substring(0, 4);
4

1 に答える 1

2

Java の例では、HMAC ではなく SHA-256 ハッシュを実行しています。

Macnotのインスタンスを使用する必要がありますMessageDigest

于 2012-09-12T08:01:06.230 に答える