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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
MRAK87
0 / 0 / 0
Регистрация: 31.07.2013
Сообщений: 5
#1

Передача пароля из Android приложения в PHP - Программирование Android

25.07.2014, 22:14. Просмотров 1173. Ответов 16
Метки нет (Все метки)

Здравствуйте.

Подскажите, пожалуйста, начинающему разработчику Android в каком направлении двигаться.
Есть приложение под Android, пользователь регистрируется на мобильном приложение, пароль отсылается по запросу POST на сервер, где php-скрипт принимает этот параметр, дальше уже работает проверка валидности пароля и хеша-пароля из БД. Это все уже отлажено.
Вопрос как на Java зашифровать пароль, передать в запросе POST, затем PHP скрипт должен принять зашифрованный пароль и расшифровать его? Чтобы нельзя было по сети передавать в явном виде пароль.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2014, 22:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача пароля из Android приложения в PHP (Программирование Android):

Android json, передача переменной - Программирование Android
Здравствуйте. В android приложение формирую json файл, как его в php разобрать? Что я делаю не так? public void onClick(View v) { ...

Изменение приложения на android - Программирование Android
Возникла острая необходимость в данном приложении, но оно к сожалению имеет ограничение по версии. Как убрать из него проверку версии...

Token из приложения Android - Программирование Android
Друзья, добрый день! При подключении к сетевому чату Android программа отправляет некий запрос серверу с токеном аппарата. Токен не...

Сборка Android приложения - Программирование Android
Всем привет. Возникла проблемка. Мне необходимо собрать Android приложение так, чтобы его можно было запустить на любом PC. Подсказать...

Создание приложения на Android - Программирование Android
Решил заняться созданием программ для Android платформы. Опыт в программирование имеется, но тут возникли небольшие сложности. Хочу создать...

Android клиент передача XML сообщений - Программирование Android
Здравствуйте. Имеется задача организовать общение приложения-клиента на Android с сервером посредством использования XML-сообщений....

16
Netscape
373 / 360 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
26.07.2014, 23:24 #2
SSL
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
27.07.2014, 00:50 #3
Цитата Сообщение от Netscape Посмотреть сообщение
SSL
А не слишком круто? У меня есть простой хостинг с PHP, теоретически могу активировать и SSL, но...
1) насколько я знаю нужны ключи. Обычно их покупают. И это дороже самого хостинга. Год назад в Израиле слышал бесплатные выдавали на пол года, но это было исключение... Вроде можно свой сгенерировать, но как среагируют браузеры - скорее всего ошибкой - "ключ устарел", "ключ не правильный"...
2) нужно настроить сервер - одни папки обычным протоколом а другие переадресовывать на https
3) Скачать и отправить из андроида - это вроде уже совсем другие наборы команд... Другой протокол, другие классы...

Мне самому предстоит подобное
Пока планирую пока просто шифровать ключ при передаче своим методом (с привязкой к дате/часу) и дешифровать в РНР...
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
27.07.2014, 10:36 #4
Цитата Сообщение от Tester64 Посмотреть сообщение
1) насколько я знаю нужны ключи. Обычно их покупают. И это дороже самого хостинга. Год назад в Израиле слышал бесплатные выдавали на пол года, но это было исключение... Вроде можно свой сгенерировать, но как среагируют браузеры - скорее всего ошибкой - "ключ устарел", "ключ не правильный"...
генерьте сами. Ну будет он не "официальный", ну и чёрт с ним. Всё равно безопасность будет.
1
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
27.07.2014, 14:12 #5
Цитата Сообщение от YuraAAA Посмотреть сообщение
Всё равно безопасность будет
А намного сложнее будет переписать скачивание/отправку? где-то встречал упоминание совсем других классов, вроде обязательное подключение в проект jar-классов.
0
Netscape
373 / 360 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
27.07.2014, 16:07 #6
Цитата Сообщение от YuraAAA Посмотреть сообщение
Ну будет он не "официальный", ну и чёрт с ним. Всё равно безопасность будет.
self-signed сертификаты полная лажа.

Цитата Сообщение от Tester64 Посмотреть сообщение
Обычно их покупают.
Обычно - да, необычно - раздают бесплатно: https://www.startssl.com/
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
27.07.2014, 16:16 #7
Цитата Сообщение от Netscape Посмотреть сообщение
self-signed сертификаты полная лажа.
а-та-та, а ну ка обоснуйте.

Similarities Between Signed and Self-Signed Certificates

Whether you get your certificate signed by a certificate authority or sign it yourself, there is one thing that is exactly the same on both:

Both certificates will generate a site that cannot be read by third-parties. The data sent over an https connection or SSL, will be encrypted regardless of whether the certificate is signed or self-signed.
In other words, both types of certificates will encrypt the data to create a secure website.
0
Netscape
373 / 360 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
27.07.2014, 19:39 #8
Цитата Сообщение от YuraAAA Посмотреть сообщение
а-та-та, а ну ка обоснуйте.
self-signed сертификаты untrusted.

Схема использования недоверительного сертификата предполагает, что подпись сертификата можно проверить, только используя публичный ключ, часть которого находится в самом сертификате. Т.е. сертификат подтверждается, публичным ключом который является частью самого сертификата (сертификат подтверждает сам себя). Именно по этой причине браузеры не доверяют таким сертификатам.
Добавлено через 20 минут
Разделяю мнение этого чувака:

It is always been told that SSL certificates are only secure if they are issued and signed by a trusted signing authority, and that we should never use a self-signed certificate except for limited internal use and for testing purposes. We would be crazy to implement a self-signed certificate in a production environment.
http://scn.sap.com/community/securit...d-certificates
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
28.07.2014, 02:07 #9
Цитата Сообщение от Netscape Посмотреть сообщение
Обычно - да, необычно - раздают бесплатно: https://www.startssl.com/
если я правильно понял, это всего на год... потом все равно покупать прийдется? за 200$ (при минимально-разумном хостинге за 60-120$)?

Цитата Сообщение от YuraAAA Посмотреть сообщение
генерьте сами.
А чем обычно подобное генерят? Можно ли сделать ключ на 1024 и выше бит? На что (кроме надежности) это влияет? Логично что скорость шифровки/расшифровки падает, но андроид с этим справится? Сильно вырастит нагрузка на сервер?

Цитата Сообщение от Netscape Посмотреть сообщение
Т.е. сертификат подтверждается, публичным ключом который является частью самого сертификата (сертификат подтверждает сам себя).
Не понял... Поправьте меня, но надежность SSL заключается в 2х механизмах:
1) канал общения с вашим сайтом шифрутся ключем и взломать его тяжело даже имея сам ключ сертификата.
2) то с кем вы общаетесь точно ваш сайт, т.к. это гарантирует ключ выданный фирмой МММ (и лично фирма МММ)

Тогда...
1) Ключ действительно шифрует. И без спец оборудования его фиг вломаешь. Вроде мелкого провайдера, сидящего на линии. Или малолетнего хакера сидящего в локалке.
2) Теоретически я сам могу обьявить себя особой подтверждающей правильность сертификата. (без международной лицензии, и т.д.). Кто подтверждает на сайте гугла что сертификат гугла действительно выдан гуглу? Где обычно хранится "вторая половинка" купленного ключа ?
0
MRAK87
0 / 0 / 0
Регистрация: 31.07.2013
Сообщений: 5
28.07.2014, 18:37  [ТС] #10
Вы от темы отошли, а нет ли простого варианта без всяких SSL. Например, на java зашифровать пароль с открытым ключом, а затем передать через POST зашифрованный пароль, а уже на стороне PHP дешифровать, зная открытый ключ?
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
29.07.2014, 00:42 #11
Цитата Сообщение от MRAK87 Посмотреть сообщение
а нет ли простого варианта без всяких SSL
Думал над подобным... (сам пока в открытую пароли передаю)
Насколько я знаю, PHP само по себе не особо поддерживает шифрование, как и андроид. Все нужно писать самому, а это обчно подглючивает (это обычно специалисты писать должны).

1) шифровать предстоит и параметры в строке заспроса, и пост-параметры, и передаваемое/получаемое "тело" (файл).
2) зашифровать относительно надежно строку еще можно, хотя про открытые ключи в ПХП не слышал. разве что через левые библиотеки (некоторые из которых требуют админ доступа для установки в настройки ПХП).
3) зашифровать файл - это опять-же долго и тяжело. К тому-же предстоит одинаковое шифрование поддерживать на обоих системах. А я до сих пор не нашел даже метода шифрования зип-файлов в обоих языках.

ИМХО, SSL-"тунель" самое надежное средство, но не для новичка... Там идет шифрование ВСЕГО и сразу. Причем на низком уровне и написано все это достаточно надежно (проверено мировыми криптоаналитиками).

Кстати, до сих пор не услышал ответа: тяжело ли переписать с обычного GET/POST на SSL? Нужны ли для этого отдельные библиотеки?

Добавлено через 4 минуты
Цитата Сообщение от MRAK87 Посмотреть сообщение
Например, на java зашифровать пароль с открытым ключом, а затем передать через POST зашифрованный пароль, а уже на стороне PHP дешифровать, зная открытый ключ?
Зачем Вам "открытый ключ"? Если я правильно понял, и код на PHP и код на андроиде пришете ВЫ! А значит можно использовать ЗАКРЫТЫЙ ключ любой сложности. Хоть по словарю. Любая методика подойдет, а не зная метода шифрования с обоих сторон тяжело расшифровать строку...
0
ILNAR_93
Android
224 / 224 / 23
Регистрация: 19.01.2013
Сообщений: 1,732
Записей в блоге: 3
29.07.2014, 11:34 #12
Если не нужна сверх защита, если защита нужна от всяких ламеров то можно использовать параллельное шифрование задаешь ключ шифрования (можно сделать чтобы менялся со временем)

отправляешь "зашифрованный" принимаешь и расшифровываешь перед использованием

)

p.s. не селен в теме защиты инфы )
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
29.07.2014, 12:42 #13
Цитата Сообщение от kaspersky Посмотреть сообщение
можно сделать чтобы менялся со временем
Просчитывал подобное... по идее класно, но в реале будет лажей! Есть шанс что отставание часов мобилки на минуту даст сбой. На тысяче устройств это будет приличным процентом глюков... Был случай, когда сервер сам перевел часы на другую часовую зону. Админ перекинул скрипты на другой сервак и забыл настройку в ПХП. В результате на целых 2 часа разница была (по гринвичу стало).

Расчитал для себя такую схему - RND строка приклеивается к паролю и является частью ключа или влияет на выбор ключа на другой стороне. Может быть привязано ко времени и проверяться с зазором (123 с 1:00 до 3:00, а 456 с 2:00 до 4:00)

Но это все - "костыли"! SSL - теоретически самый простой и относительно надежный вариант. Вопрос только насколько тяжело из андроида получать и отправлять файлы через SSL. Специально еще не гуглил, пока интересует общее мнение...
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
29.07.2014, 19:26 #14
Цитата Сообщение от Tester64 Посмотреть сообщение
SSL - теоретически самый простой и относительно надежный вариант. Вопрос только насколько тяжело из андроида получать и отправлять файлы через SSL. Специально еще не гуглил, пока интересует общее мнение...
Всё верно, это самый простой и надёжный вариант. Вся разница: обычное соединение это http://... порт 80, защищённое - https://.... порт 443. Всё.
0
kirawa
34 / 34 / 1
Регистрация: 12.11.2013
Сообщений: 338
31.07.2014, 09:17 #15
md5
0
31.07.2014, 09:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2014, 09:17
Привет! Вот еще темы с ответами:

Анимация текста Android приложения - Программирование Android
Как изменить код в MainActivity package com.example.time; import android.app.Activity; import android.os.Bundle; import...

Запуск приложения с загрузкой android - Программирование Android
Как организовать автозагрузку приложения при старте android?

Закрытие приложения эклипс android - Программирование Android
Доброго времени суток если в метод в java который закрывает полность приложение но именно не сваричивает а полнастью закрывает!!!

Создание приложения для android - Программирование Android
Я решил заняться созданием приложений для андроида, но у меня есть некоторые вопросы, об одном из которых я хотел бы написать в этой теме. ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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