5

次のような Java コードがあります。

public static byte[] generateMac(byte[] key, byte[] cipherText,int offset,int length,int mac_size_bits)
{
    byte[] result = null;
    KeyParameter keyParam = null;
    try {
        keyParam = new KeyParameter(key);
        CBCBlockCipherMac blockCipherMac = new CBCBlockCipherMac(new AESEngine(),mac_size_bits);
        result = new byte[blockCipherMac.getMacSize()];
        blockCipherMac.init(keyParam);
        blockCipherMac.update(cipherText, offset, length);
        blockCipherMac.doFinal(result, 0);
    } catch (Exception e) {
        // System.out.println(e);
        return null;
    } finally {
        keyParam = null;
    }
    return result;
}

iPhone では、次のように落書きしています。

- (NSData *)generateMac:(NSData *)key cipherText:(NSData *)cipherText offset:(int)offset length:(int)length mac_size_bits:(int)mac_size_bits

CBCBlockCipherMac私の質問は、 iPhoneでどの方法を使用すればよいですか、keyparameters誰でも私を助けてくれますか?

4

1 に答える 1

1

そのMAC暗号化-私の知る限り、IOSにはワンショットの交換/同等物はありません

元のドキュメントdocs と wikipedia wikiを参照してください

アルゴリズムがどのように機能するかを学び、CommonCrypto を使用してそれを複製します

-- 申し訳ありませんが、これ以上のアイデアはありません

于 2012-09-14T23:52:29.453 に答える