Общий процесс шифрования для iPhone и Android - PullRequest
1 голос
/ 20 июля 2011

Привет, ребята, есть ли простой способ шифрования и дешифрования изображений на разных платформах, например, дешифрование изображения в Android, зашифрованное в iPhone и наоборот.

Заранее спасибо ..

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Вы можете использовать 56 битное шифрование DES .Поддерживается как в iPhone, так и в Android.Вы не можете использовать RSA, потому что размер изображения может быть больше 127 байт.Два года назад, когда я пытался использовать AES 128-битное шифрование.Я обнаружил, что существует ограничение использования 128-битного шифрования AES, и выпустил его на рынок.Так что избегайте и AES.Ява поддерживает AES.Следовательно, nadorid также поддерживает DES

0 голосов
/ 28 апреля 2012

AES-шифрование - это лучший способ зашифровать файл в Android или IOS. В Android-приложении я пробовал шифрование. байтовый массив с ключом в андроид.

encryptionKey будет вашим паролем

 public static byte[] encrypt(byte[] key, byte[] data) throws Exception

        {

            SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
            Cipher cipher = Cipher.getInstance("AES");
            cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
            byte[] encrypted = cipher.doFinal(data);
            return encrypted;
        }

        /**
         * DEcrypt byte array with given Key using AES Algorithm
         * Key can be generated using <Code>getKey()</Code>
         * @param key  Key that Is used for decrypting data
         * @param data  Data passed to decrypt
         * @return decrypted data
         * */

        public static byte[] decrypt1(byte[] key, byte[] encrypted) throws Exception
        {

            SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
            Cipher cipher = Cipher.getInstance("AES");
            cipher.init(Cipher.DECRYPT_MODE, skeySpec);
            byte[] decrypted = cipher.doFinal(encrypted);
            return decrypted;
        }
        /**
         * get the Key for encryption this can be used for while decrypting and encrypting too.
         * */
        public static byte[] getKey() throws Exception
        {
            byte[] keyStart = EncrypteDecrypte.encryptionKey.getBytes();
            KeyGenerator kgen = KeyGenerator.getInstance("AES");
            SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
            sr.setSeed(keyStart);
            kgen.init(128, sr); // 192 and 256 bits may not be available
            SecretKey skey = kgen.generateKey();
            byte[] key = skey.getEncoded();

            return key;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...