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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
#1

Ошибка "Method call expected" при шифровании RSA - Android

31.03.2016, 20:20. Просмотров 682. Ответов 11
Метки нет (Все метки)

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
private final static BigInteger one      = new BigInteger("1");
    private final static SecureRandom random = new SecureRandom();
 
    private BigInteger privateKey;
    private BigInteger publicKey;
    private BigInteger modulus;
 
    public void init(int N) {
        BigInteger p = BigInteger.probablePrime(N/2, random);
        BigInteger q = BigInteger.probablePrime(N/2, random);
        BigInteger phi = (p.subtract(one)).multiply(q.subtract(one));
 
        modulus    = p.multiply(q);
 
        privateKey = publicKey.modInverse(phi);
    }
 
    public void setPrivateKey(BigInteger privateKey) {
        this.privateKey = privateKey;
    }
 
    public void setPublicKey(BigInteger publicKey) {
        this.publicKey = publicKey;
    }
 
    public void setModulus(BigInteger modulus) {
        this.modulus = modulus;
    }
 
    public BigInteger getPrivateKey() {
        return privateKey;
    }
 
    public BigInteger getPublicKey() {
        return publicKey;
    }
 
    public BigInteger getModulus() {
        return modulus;
    }
 
    // generate an N-bit (roughly) public and private key
 
             // common value in practice = 2^16 + 1
 
    BigInteger encrypt(BigInteger message) {
        return message.modPow(publicKey, modulus);
    }
 
    BigInteger decrypt(BigInteger encrypted) {
        return encrypted.modPow(privateKey, modulus);
    }
 
    public String toString() {
        String s = "";
        s += "public  = " + publicKey  + "\n";
        s += "private = " + privateKey + "\n";
        s += "modulus = " + modulus;
 
        return s;
    }
protected void onCreate(Bundle savedInstanceState) {
        int N = 1024; //количество бит для генерации RSA ключей
        WhatTheHellAreYouDoingInMyCode rsa = new WhatTheHellAreYouDoingInMyCode();
        rsa.init(N);
        BigInteger message = new BigInteger("Привет Мир! I love you!".getBytes());
        rsa.setModulus(modulus); //используем modulus, который получили от сервера
        rsa.setPublicKey(publicKey); //используем publicKey, который получили от сервера
        BigInteger encryptMessage = rsa.encrypt(message);
        BigInteger decryptMessage = rsa.decrypt(encryptMessage);
        System.out.println( new String(decryptMessage().getBytes()));
В последней строчке кода ошибка "Method call expected" и красным подчеркнуто decryptMessage(). Как мне это исправить??? Помогите пожалуйста!

Спасибо за внимание!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2016, 20:20     Ошибка "Method call expected" при шифровании RSA
Посмотрите здесь:

При эмулировании вместо надписи "Hello world" отображается "android" Android
Android При запуске приложения на Android оно крашится и вылетает с ошибкой "В приложении %название% произошла ошибка"
Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" Android
Android Выбор платформы разработки "1С Мобильная платформа" или "Android Studio"
Android Ошибка "Unknown method "e" of "org.apache.commons.logging.Log"
Android Ошибка при создании проекта "invalid LOC header (bad signature)"
Ошибка "unknown android-api-level-9" при установке admob в eclipse Basic4Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
31.03.2016, 21:05     Ошибка "Method call expected" при шифровании RSA #2
Kubson,
Java
1
decryptMessage.getBytes()
.
Лишние скобки
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
01.04.2016, 20:17  [ТС]     Ошибка "Method call expected" при шифровании RSA #3
YuraAAA, я убрал скобки, но ничего не изменилось
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.04.2016, 20:37     Ошибка "Method call expected" при шифровании RSA #4
Kubson, ну покажите что получилось
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
02.04.2016, 09:51  [ТС]     Ошибка "Method call expected" при шифровании RSA #5
YuraAAA, я ж говорю, ничего не изменилось: все та же ошибка на том же месте. Новых ошибок не прибавилось.
Паблито
2240 / 1813 / 564
Регистрация: 12.05.2014
Сообщений: 6,456
Завершенные тесты: 1
02.04.2016, 11:34     Ошибка "Method call expected" при шифровании RSA #6
тебя ведь попросили показать код после того как убрал скобки
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
02.04.2016, 13:59  [ТС]     Ошибка "Method call expected" при шифровании RSA #7
Паблито,
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
private final static BigInteger one      = new BigInteger("1");
    private final static SecureRandom random = new SecureRandom();
 
    private BigInteger privateKey;
    private BigInteger publicKey;
    private BigInteger modulus;
 
    public void init(int N) {
        BigInteger p = BigInteger.probablePrime(N/2, random);
        BigInteger q = BigInteger.probablePrime(N/2, random);
        BigInteger phi = (p.subtract(one)).multiply(q.subtract(one));
 
        modulus    = p.multiply(q);
 
        privateKey = publicKey.modInverse(phi);
    }
 
    public void setPrivateKey(BigInteger privateKey) {
        this.privateKey = privateKey;
    }
 
    public void setPublicKey(BigInteger publicKey) {
        this.publicKey = publicKey;
    }
 
    public void setModulus(BigInteger modulus) {
        this.modulus = modulus;
    }
 
    public BigInteger getPrivateKey() {
        return privateKey;
    }
 
    public BigInteger getPublicKey() {
        return publicKey;
    }
 
    public BigInteger getModulus() {
        return modulus;
    }
 
    // generate an N-bit (roughly) public and private key
 
             // common value in practice = 2^16 + 1
 
    BigInteger encrypt(BigInteger message) {
        return message.modPow(publicKey, modulus);
    }
 
    BigInteger decrypt(BigInteger encrypted) {
        return encrypted.modPow(privateKey, modulus);
    }
 
    public String toString() {
        String s = "";
        s += "public  = " + publicKey  + "\n";
        s += "private = " + privateKey + "\n";
        s += "modulus = " + modulus;
 
        return s;
    }
protected void onCreate(Bundle savedInstanceState) {
        int N = 1024; //количество бит для генерации RSA ключей
        WhatTheHellAreYouDoingInMyCode rsa = new WhatTheHellAreYouDoingInMyCode();
        rsa.init(N);
        BigInteger message = new BigInteger("Привет Мир! I love you!".getBytes());
        rsa.setModulus(modulus); //используем modulus, который получили от сервера
        rsa.setPublicKey(publicKey); //используем publicKey, который получили от сервера
        BigInteger encryptMessage = rsa.encrypt(message);
        BigInteger decryptMessage = rsa.decrypt(encryptMessage);
        System.out.println( new String(decryptMessage().getBytes));
Паблито
2240 / 1813 / 564
Регистрация: 12.05.2014
Сообщений: 6,456
Завершенные тесты: 1
02.04.2016, 14:01     Ошибка "Method call expected" при шифровании RSA #8
вообще не читаешь что пишут люди?
где там убраны скобки как предложил YuraAAA ?
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
02.04.2016, 14:14     Ошибка "Method call expected" при шифровании RSA #9
Паблито, он убрал у getBytes метода скобки

Добавлено через 21 секунду
Kubson,
Цитата Сообщение от Kubson Посмотреть сообщение
decryptMessage.getBytes()
должно быть так
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
02.04.2016, 16:09  [ТС]     Ошибка "Method call expected" при шифровании RSA #10
Ах да, спасибо что помогли с этим, но теперь возникла новая ошибка: Error144, 54) error: cannot find symbol method getBytes()

Добавлено через 1 час 2 минуты
Я исправил ее, и вновь появилась новая 04-02 16:08:28.791 5411-5411/spsoft.passwordgenerator E/AndroidRuntime: FATAL EXCEPTION: main
Process: spsoft.passwordgenerator, PID: 5411
java.lang.RuntimeException: Unable to start activity ComponentInfo{spsoft.passwordgenerator/spsoft.passwordgenerator.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.math.BigInteger java.math.BigInteger.modInverse(java.math.BigInteger)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2790)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2855)
at android.app.ActivityThread.access$900(ActivityThread.java:181)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6117)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.math.BigInteger java.math.BigInteger.modInverse(java.math.BigInteger)' on a null object reference
at spsoft.passwordgenerator.MainActivity.init(MainActivity.java:70)
at spsoft.passwordgenerator.MainActivity.onCreate(MainActivity.java:138)
at android.app.Activity.performCreate(Activity.java:6374)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2743)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2855)*
at android.app.ActivityThread.access$900(ActivityThread.java:181)*
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)*
at android.os.Handler.dispatchMessage(Handler.java:102)*
at android.os.Looper.loop(Looper.java:145)*
at android.app.ActivityThread.main(ActivityThread.java:6117)*
at java.lang.reflect.Method.invoke(Native Method)*
at java.lang.reflect.Method.invoke(Method.java:372)*
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)*
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)*
Ошибка здесь: privateKey = publicKey.modInverse(phi);

Как же мне ее исправить?..
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
02.04.2016, 17:21     Ошибка "Method call expected" при шифровании RSA #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Kubson,
Цитата Сообщение от Kubson Посмотреть сообщение
BigInteger java.math.BigInteger.modInverse(java.math.BigInteger)' on a null object reference
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2016, 18:46     Ошибка "Method call expected" при шифровании RSA
Еще ссылки по теме:

Android "В приложении произошла ошибка" при нажатии на кнопку перехода на какую-либо активность
Постепенно вывести на экран слово "Java", в котором буквы состоят из "интересных" элементов Android
Android При нажатии на кнопку выходит ошибка "Attempting to invoke method on a null object reference"
При компиляции вылазит ошибка Installation error: "INSTALL_FAILED_CPU_ABI_INCOMPATIBLE" Android
Android "Ошибка при синтаксическом анализе пакета" при скачивании файла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kubson
-24 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
02.04.2016, 18:46  [ТС]     Ошибка "Method call expected" при шифровании RSA #12
YuraAAA, спасибо большое!
Yandex
Объявления
02.04.2016, 18:46     Ошибка "Method call expected" при шифровании RSA
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru