2

デバイスがUSBストレージモード/デバイスの内部ファイル閲覧アプリに接続されているときに、SDカード上のフォルダーを非表示/非表示/暗号化する方法を教えていただければ幸いです。
Androidアプリケーションからこのファイルにアクセスする機能も必要です(違いがある場合にのみ読み取るためです..)

SecretVault pro のようないくつかのファイル暗号化アプリについては知っていますが、このようなアプリには、開発者向けの API がなく、暗号化された状態または破棄された状態をプログラムで制御できます。

4

1 に答える 1

15
 public byte[] keyGen() throws NoSuchAlgorithmException {
    KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
    keyGenerator.init(192);
    return keyGenerator.generateKey().getEncoded();
 }

アプリにキーを保存する必要があります

     public byte[] encript(byte[] dataToEncrypt, byte[] key)
            throws NoSuchAlgorithmException, NoSuchPaddingException,
            InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
    //I'm using AES encription
    Cipher c = Cipher.getInstance("AES");
    SecretKeySpec k = new SecretKeySpec(key, "AES");
    c.init(Cipher.ENCRYPT_MODE, k);
    return c.doFinal(dataToEncrypt);
    }

    public byte[] decript(byte[] encryptedData, byte[] key)
            throws NoSuchAlgorithmException, NoSuchPaddingException,
            InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
    Cipher c = Cipher.getInstance("AES");
    SecretKeySpec k = new SecretKeySpec(key, "AES");
    c.init(Cipher.DECRYPT_MODE, k);
    return c.doFinal(encryptedData);
    }
于 2012-04-23T06:41:53.390 に答える