Шифрование строки используя ключ
Всем привет!
Сейчас работаю над синхронизацией моего движка на php и node.js. Меня интересует, как можно зашифровать строку (хэш массив) средствами php и расшифровать ее через JavaScript на сервере node.js используя уникальный ключ. То есть у нас есть строка - А. И ключ - Б. Получаем код через php - С. Передаем строку на сервер. Расшифровываем средствами JavaScript используя специальный ключ Б и зашифрованный код С для получения стоки А. Жду комментариев и ссылок) Заранее спасибо! |
А от кого шифруешь то? От себя самого?
|
danik.js, да.
У меня есть index.php. Так же у меня есть уникальный "код", который пользователь не должен знать. Ибо он не должен иметь возможности его корректировать. У меня установлен модуль SockJS на Node.JS. Необходимо, что бы клиент отправлял данный "код" для выполнения на сервере node определенный действий. На клиенте путем JS я создаю объект класса для работы с сервером. var sock = new SockJS('http://*.*.*.*:3000/echo'); Далее я опять же используя JS передаю "код", например: sock.send('мой зашифрованный код'); Сервер node это принимает и далее выполняет необходимые действия по расшифровке и т. п. То есть основная суть тут не в том, что бы пользователь шифровался от кого. он шифруется от самого себя. Для того, что бы не иметь возможности скажем использовать чужой id для управление чем либо. |
В чем смысл гонять код туда-сюда? Ты (сервер) его шлешь клиенту, клиент шлет тебе (серверу). В чем смысл?
|
Цитата:
|
danik.js, skrudjmakdak, так как это два разных сервера c разными движками.
Движок сайта - php (httpd) Движок сокетов - sockjs->node.js (node) |
Ну так используй куку авторизации в качестве своего "ключа". А еще можно же сессию хранить в бд. Разве для node.js нет драйвера mysql?
|
ну если сервера два и они обращаются друг к другу, то ИМХО!! можно и без бд обойтись, а файликом.. хотя что будет быстрей отрабатывать, не знаю)) не тестил..
|
вот статейка.. с курлом (мона еще найти):
http://blog.yousoft.ru/2010/03/31/is...ies-2-sposoba/ |
Я говорю что довольно часто сессия хранится в бд. Так что через куку можно легко найти сессию юзера. Причем тут файлики.А причем тут курл - вобще не понятно..
|
skrudjmakdak, спасибо! Посмотрю!)
|
danik.js, можно и с бд...
Но я пытаюсь найти самый оптимальный способ. Мне кажется, что напрягать запросами бд глупо, если можно воспользоваться основным функционалом модуля sockjs и передавать данные на прямую в зашифрованном виде |
Куда передавать? Какие данные? Ты бредишь...
Какие напряги? Один запрос в бд - это для тебя напряжно? |
"Куда передавать?"
На созданный нами сервер, расположенный на :3000 порту. "Какие данные?" На клиенте следующим образом: sock = new SockJS('http://*.*.*.*:3000/echo'); sock.send(JSON.stringify({ type: 'connect', user_session: '***********', user_id: '*****', user_browser: '***********', // ... })); "Ты бредишь" Ваша завышенная самооценка не допускает мысли, что возможно именно Вы являетесь виновником того, что вы не понимаете сути. "Какие напряги?" Это сравнимо с тем, что Вы находитесь в магазине с йогуртом в руках. Перед Вами 2 кассы. На одной - есть очередь. На другой - нету. Вы идете на ту, где очередь больше. Мне это напоминает быдлокодинг "лишь бы работало". Какой смысл дергать Базу данных, если есть возможность передавать данные напрямую через sockjs. Мне Вам архитектуру объяснить? Сейчас задача в следующем: [ Клиент ➨ Сервер ➨ Клиент ] Как можно зашифровать данные зеленого цвета. Вы же предлагаете: [ Клиент ➨ Сервер ➨ БД ➨ Сервер ➨ Клиент ] Думаю не нужно Вам объяснять, зачем я использовал красный цвет. Я могу и 40 запросов написать. Только я пытаюсь делать качественный продукт. |
Не не. Твоя схема:
Сервер ->(данные) клиент - >(данные) Сервер Моя схема: Сервер ->(id) клиент ->(id) Сервер Че надежней (и разумней) слать через клиента - все данные или только айдишник? Зачем через клиента гнать инфу которую можно получать прямо с сервера (из бд)? Вот это и есть быдлокодинг. |
ммм. я чет запутался..
вы говорите вот что: [ Клиент ➨ Сервер ➨ Клиент ] а разве может сервер отдавать ответ клиенту без его запроса? именно вот эта часть: Сервер ➨ Клиент клиент 1 дергает сервер, сервер изменяет данные, клиент 2 дергает этот же сервер и получает новые данные.. только нужно "сообщить" этим двум клиентам, что бы они слушали только друг друга вам так надо?? |
danik.js, убедили. Спасибо!
|
skrudjmakdak, примерно да.
В моем случае я держу на сервере node информацию о пользователях. Их сессии, и пр. У одного пользователя есть одна или много сессий. У каждой сессии есть свои sock соединения (на каждую вкладку). По этому изначально стоял вопрос и том, как передавать данные (id, название сессии и пр.) для обновления данных без задействования каких либо других ресурсов |
Часовой пояс GMT +3, время: 22:09. |