Форум программистов, компьютерный форум CyberForum.ru

Ошибка RSA шифрования - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Как из activity_main_drawer открыть layout файлы? http://www.cyberforum.ru/android-dev/thread1622299.html
как из activity_main drawer открыть layout файлы?
Android Как перезаписать,создать путь к папке с кешом Здравствуйте.Решил здесь задать вопрос.У меня в андроиде была папка "obb" с кешем для игры.Игра функционировала,кеш писала в правильную папку "obb". В ходе манипуляций в программе FolderMoun http://4pda.ru/forum/index.php?showtopic=712561 кеш стал качаться в папку "data". Игра скачана с плей маркета. Как исправить,перезаписать путь к папке,что бы кеш от игры закачивался в папку "obb",а не в... http://www.cyberforum.ru/android-dev/thread1622214.html
Android Замена Fragment в ViewPager
Привет, всем. Пользуясь ответом на stackoverflow написал такой же класс наследующийся от FragmentPagerAdapter, но теперь не знаю что написать в обработчике кнопки, чтобы фрагменты поменялись. Реализация фрагментов и MainActivity такая же как и в вопросе на stackoverflow. Спасибо.
Сделать возможной корректную обработку 2 ситуаций Android
Добрый день возникла проблема в обработке двух разных ситуаций при создании калькулятора с унарными и бинарными операциями. В первой ситуации пользователь вводит что-то в поле ввода 1, затем вводит что-то в поле ввода 2, и затем жмет на любую кнопку из первого ряда, после которых происходит какое-то действие, использующее то, что ввел человек в оба поля. Во второй ситуации пользователь вводит...
Android Рассылка сообщений группе устройств http://www.cyberforum.ru/android-dev/thread1621953.html
Добрый день! Необходимо посылать сообщение из сервера группе устройств. Пишу в Android Studio. Думал использовать Cloud to Device Messaging (C2DM), но нигде не нашел исчерпывающей информации. Подскажите, пожалуйста, как лучше это сделать.
Android NFC-метка вызывает системный сервис Приветствую, может кто сталкивался с проблемой с NFC-метками (для чтения используется NfcAdapter, с метки читается NDEF): - если чистую метку я записываю своей информацией, то в моем приложении она нормально читается - если беру готовую метку, партию которых привез из Китая, то мое запущенное приложение перебивается вызовом системной службы/сервиса с информацией, что прочтена такая-то метка ... подробнее

Показать сообщение отдельно
alexjj09
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 61

Ошибка RSA шифрования - Android

22.12.2015, 21:51. Просмотров 238. Ответов 0
Метки (Все метки)

Нужно зашифровать один PublicKey другим.
Код :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public byte[] rsaEncrypt(String key1, PublicKey key) {
    try {
 
      PublicKey key2 = getPublicKey(key1);
      Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding", "BC");
      cipher.init(Cipher.ENCRYPT_MODE, key);
 
      return cipher.doFinal(key2.getEncoded());
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }
 
  public PublicKey getPublicKey(String key) {
    String pubKeyStr = key;
    byte[] sigBytes = Base64.decode(pubKeyStr, Base64.DEFAULT);
    X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(sigBytes);
    KeyFactory keyFact = null;
    try {
      keyFact = KeyFactory.getInstance("RSA", "BC");
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    } catch (NoSuchProviderException e) {
      e.printStackTrace();
    }
    try {
      return keyFact.generatePublic(x509KeySpec);
    } catch (InvalidKeySpecException e) {
      e.printStackTrace();
    }
    return null;
  }

Получаю ошибку в строке
Java
1
cipher.doFinal(key2.getEncoded());
Данные при дебаге для понимания, что все происходит правильно

Java
1
2
3
key = {BCRSAPublicKey@830041814480} "RSA Public Key\n            modulus: bd4a10555be6a8160bcf3873674e2934abec7ad6ea460958d5d2ac5b205c34bd\n    public exponent: 10001\n"
key1 = {String@830053853352} "MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAMclhC0r8SE49pR1CK40rbyQOXR4o2VUyDZ3ydxzAATv\nAgMBAAE=\n"
e = {ArrayIndexOutOfBoundsException@830039108928} "java.lang.ArrayIndexOutOfBoundsException: too much data for RSA block"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru