2

私が使用しているAndroidプロジェクトで

import javax.crypto.Cipher;

ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); 

質問したいのですが、AES128 と AES256 のどちらを使用するかは、使用するキーによって決まりますか? たとえばkey="012345678901234567890123456789012";、結果として AES256 を使用することになりますか?

ありがとう
トーマス

4

1 に答える 1

1

はい、AES128 または AES256 のどちらが使用されるかは、使用中のキーによって定義されます。

ただし長さでStringはなく、byte[]長さで決まります。コードのある時点で、に変換する必要がありStringますbyte[]。結果のサイズがbyte[]鍵のサイズです。を変換する方法を知らなければ"012345678901234567890123456789012"、暗号化の強度を知ることはできません。

または、次を使用できますKeyGenerator

    KeyGenerator keyGen = KeyGenerator.getInstance("AES");
    keyGen.init(128); // or 256

    // Generate the secret key specs
    SecretKey secretKey = keyGen.generateKey();
    byte[] byteArray = secretKey.getEncoded();
于 2012-07-18T14:15:40.883 に答える