Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2013, 17:42   #1
Мироненко Павел
Новичок
Джуниор
 
Регистрация: 08.05.2013
Сообщений: 2
По умолчанию Проблемы с шифрованием после JTextField.getText()

Всем доброго времени суток!
Работаю с LDAP сервером, в который необходимо поместить зашифрованный(AES) атрибут. Разрабатывал и тестировал код отдельно от GUI - всё прекрасно получалось, шифровалось(получались нечитаемые символы), добавлялось(как String), а в последствии читалось и расшифровывалось:

Код:
//Атрибут 
String name = "ТестИмя2";

//шифрование атрибута
Cipher c = Cipher.getInstance("AES");
c.init(Cipher.ENCRYPT_MODE, key);
byte[] encryptedDataName = c.doFinal(name.getBytes("UTF-16"));
String crname = new String(encryptedDataName);

// ввод зашифрованных атрибутов добавляемого пользователя  
Attribute gn = new BasicAttribute("gn", crname);

//и т.д.
В GUI всё аналогично (ключ шифрования тот же), за исключением самого атрибута, который, естественно, прописывается не в коде, а в JTextField. Однако, после считывания атрибута (JTextField.getText())
и его шифрования программа выводила вместо нечитаемых символов сплошные маленькие пустые квадратики + пару других символов. Всё это уже не хотело записываться на сервер со словами про ошибку синтаксиса. Так как код везде идентичен, скорее всего это из-за каких-то особенностей считывания с текстового поля (кодировка?). Как мне всё это поправить?

Последний раз редактировалось Мироненко Павел; 08.05.2013 в 18:26.
Мироненко Павел вне форума Ответить с цитированием
Старый 09.05.2013, 15:42   #2
Мироненко Павел
Новичок
Джуниор
 
Регистрация: 08.05.2013
Сообщений: 2
По умолчанию

Поэксперементировал и вот к чему пришёл: тестировал я этот код в eclipse(4.2.0) и при шифровании "ТестИмя2" получалось вот такое: ЅєЌ/3·,№Uі)eдд-YkSz=ptјн+Сџ®dw. Эта строка без проблем добавлялась в качестве атрибута на сервер.
А вот шифрование того же "ТестИмя2" тем же ключом в netbeans(7.0.1) получалось другое: ���/3�,�U�)e��-YkSz=pt��+���dw. Т.е. некоторые символы совпадают, но вот эти ромбики (в консоли нетбинса они выглядят как квадратики) как раз на сервер и не пишутся.
Вопрос: могу ли я без потерь перенести свой GUI в эклипс либо в нетбинс более свежей версии(при условии, что новая версия будет выдавать такую же зашифрованную строку, как эклипс). Или там используются другие библиотеки (не swing)?
Мироненко Павел вне форума Ответить с цитированием
Старый 16.05.2013, 23:54   #3
darknim
Пользователь
 
Регистрация: 14.12.2012
Сообщений: 36
По умолчанию

на сколько я понял тут проблема кодировки.
Походу просто Netbeans не понимает. Если ты используешь utf-16 то вот тебе посмотреть кое что:

ссылка

И кстати Netbeans довольно таки хорошо заточен под Swing. Там даже есть свой графический редактор форм.

Последний раз редактировалось darknim; 16.05.2013 в 23:58.
darknim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
dxDBGrid GetText Ninazu Win Api 1 28.04.2013 00:44
проблемы после установки Delphi 7 krikaved Общие вопросы Delphi 2 09.03.2012 18:19
Считать функцию графика из JTextField Macwin Общие вопросы по Java, Java SE, Kotlin 4 14.03.2011 10:25
JTextField Stranger333 Общие вопросы по Java, Java SE, Kotlin 4 11.02.2011 02:43
Проблемы после лечения Антивирусом гога Свободное общение 5 28.03.2009 19:14