Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   шифрование строки по ключу (https://javascript.ru/forum/library-toolkit-framework/5974-shifrovanie-stroki-po-klyuchu.html)

JAre 07.11.2009 05:32

Єта часть кода логически не соответствует єтой так как эти две функции генерируют разные строки при одинаковых(правда в яве передается строка, а в php массив) вводных данных.

Riim 07.11.2009 08:04

Цитата:

Сообщение от JAre
генерируют разные строки при одинаковых вводных данных

кто-то из них врет, проверить можно здесь: http://webnet77.com/cgi-bin/helpers/base-64.pl .

JAre 07.11.2009 14:20

Вариант на яве мне дали на этом форуме. А вот php вариант не стандартен. Нужно его как-то исправить. Но что именно не в порядке - не знаю.

Kolyaj 07.11.2009 14:51

Цитата:

Сообщение от JAre
А вот php вариант не стандартен.

Всегда был стандартен.

JAre 07.11.2009 14:52

Вот сравните:
Код:

mCHCwQPwWFaqiWhQ9x0kSbdK4tgVjHEh
- наш вариант php (тот что на скрипте написан, я выкладывал)
Код:

MchcWqpWwfAQIwHqSX0KsBDk4TGvJheH
- стандарт php (тот, что на СИ в сурцах php)

Он финтит с регистрами. Мне нужен или что бы Ява так же финтила или он не финтил :)

JAre 07.11.2009 14:55

Это я кодировал строку
Код:

$string = pack('H*', "31c85c5aaa56c1f0102301ea497d0ab010e4e131af261787");
Вот сурс http://www.everfall.com/paste/id.php?tgo9b3r1ay5s

Kolyaj 07.11.2009 15:10

Т.е. то, что лажает самопальный, а не стандартный PHP-шный, вы даже не допускаете? Интересная логика.

Kolyaj 07.11.2009 15:12

Цитата:

Сообщение от JAre

Тут баг, в алфавите base64 сначала идут большие буквы, потом маленькие. И зачем вам этот скрипт, если есть нативная функция?

JAre 07.11.2009 15:27

Спасибо. Не заметил :) Сейчас исправлю и перепроверю.
Цитата:

зачем вам этот скрипт, если есть нативная функция?
Ответить с цитированием
Мне нужно закодировать строку ключом на стороне сервера и декодировать на стороне клиента. В качестве ключа хочу использовать модифицированный алфавит. В моем случае это удобно.

JAre 07.11.2009 16:07

Спасибо. Всё замечательно.
Сейчас запакую, протестирую всю программу и выложу ссылку на сурцы и тестовый сайт( ну или когда приведу его в пристойный вид :) )

Коротко, что я вообще делаю:

Нужно сделать тест на знание правил форума при регистрации. Форум на движке phpbb. Сейчас я делал пакет скриптов, реализующий прототип для тестирования реализации. Для установки теста нужно модифицировать всего один файл движка.
Как оно работает:

Модифицированный файл генерации почтового сообщения с подтверждением регистрации вместо ссылки с ключом и идентификатором пользователя для активации аккаунта высылает пользователю ссылку на тест с закодированным ключом активации в бэйс64 с модифицированным алфавитом.

Страница теста грузить xml с вопросами и ответами. Верные ответы в файле не указаны. Вместо этого у каждого ответа есть свой ключ (часть словаря бэйс64) в атрибутах.

Когда пользователь выбирает ответ на вопрос его ключ добавляется в переменную "результат".

После того как тест пройден скрипт использует значение переменной "результат" как словарь для бэйс64 декодирования переданного сервером ключа активации. Ну а потом декодированный ключ передаётся стандартному механизму активации phpbb.


Конечно, у варианта много минусов но он достаточно надежен и прост как для прототипа. Мне нужно, что бы какое-то время поработал на сервере пока я не закончу с полноценным тестом - метод встраивания будет тот же, всё остальное будет по другому.

пример xml http://www.everfall.com/paste/id.php?d2cgz4lgxfbx


Часовой пояс GMT +3, время: 07:32.