Как iphone crypt AES256 выводит 32-байтовую шестнадцатеричную строку? - PullRequest
1 голос
/ 13 мая 2011

Дорогие Гуру, У меня есть код на Java с lib надувной замок, как это:

private static String AES (boolean encrypt, String inputString, String keyString) {
        byte [] input, cipherText;
        int outputLen;

            BufferedBlockCipher cipher = new BufferedBlockCipher(new AESEngine());
        input = HexString.hexToBytes(inputString);

        cipher.init (encrypt, new KeyParameter (HexString.hexToBytes(keyString)));
        cipherText = new byte[cipher.getOutputSize(input.length)];
        outputLen = cipher.processBytes( input, 0, input.length, cipherText, 0);

        try {
            cipher.doFinal (cipherText, outputLen);
        } catch (DataLengthException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvalidCipherTextException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return HexString.bytesToHex(cipherText);
    }

этот метод вывода выглядит так:

screet: 6a7573742074657374696e6700000000

ключ: 6f2ca4106748c1eaeff88bdad4049285

Результат: f1ecd6bc3109b1f2355be3a32dd49874

и это мой код на IOS:

NSLog( @"Screet     : %@", secret );
NSLog( @"Key        : %@", key );
NSString *encryptedString = [secret AES256EncryptWithKey:key];
NSLog( @"Result     : %@", encryptedString );
NSLog( @"Result Hex : %@", [NSString stringToHex:encryptedString] );

Screet: 6a7573742074657374696e6700000000

Ключ: 6f2ca4106748c1eaeff88bdad4049285

Результат: UBXp6lFnM + XAZvVeOuYkI / T4 + brXyGBmzGOUMO + XrGS8MWGDVb0RrZGBHyw2l2Ml

Результат Hex: 55425870366c466e4d2b58415a7656654f75596b492f54342b6272587947426d7a474f554d4f2b58724753384d57474456623052725a4742487977326c3246

Я использую NSData + AESCrpt с этого форума. Есть ли какие-либо предположения, что для того же результата, то же IOS и Java (32 байта на строку)? Спасибо за помощь гуру:).

...