Модераторы: javastic, W0LF, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Криптография 
:(
    Опции темы
xbarmaglot
Дата 23.9.2012, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 28.8.2012

Репутация: нет
Всего: нет



Использую android 2.3

Код

    private static byte[] getRawKey(String seed) throws Exception
    {
        KeyGenerator keygen = KeyGenerator.getInstance("AES");
        SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
        random.setSeed(seed.getBytes());
        keygen.init(128, random);
        SecretKey skey = keygen.generateKey();
        return skey.getEncoded();
    }
    
    private static final String encrypt(String data, String skey) throws Exception
    {        
        SecretKeySpec keySpec = new SecretKeySpec(getRawKey(skey), "AES");
        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.ENCRYPT_MODE, keySpec);
        byte[] buffer = cipher.doFinal(data.getBytes());            
        return Base64.encodeToString(buffer, Base64.DEFAULT);
    }
    
    private static final String decrypt(String data, String skey) throws Exception
    {
        SecretKeySpec keySpec = new SecretKeySpec(getRawKey(skey), "AES");
        Cipher decipher = Cipher.getInstance("AES");
        decipher.init(Cipher.DECRYPT_MODE, keySpec);
        byte[] buffer = decipher.doFinal(Base64.decode(data, Base64.DEFAULT));
        return new String(buffer);
    }



так вот на одном мобильнике encrypt/decrypt работает, а вот если на одном зашифровать,
а на другом использую этот-же код расшифровываю на том же ключе, то результат отрицательный.

Начал разбираться - getRawKey генерирует различные последовательности на разных телефонах.
Как так может быть на одном и том же ключе ?
PM MAIL   Вверх
Google
  Дата 22.11.2017, 23:02 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.