![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Привет всем! Нужно было расшифровать слово, зашифрованное методом RSA. Я расшифровал, но вроде бы как не совсем. Проблема в том, что текст в textbox`е отображается в какой-то кодировке, какой не пойму. Вот это слово: Êîðèäîð. Если всавить это слово в txt и открыть программой Штирлец, то слово отображается нормально. Можно ли изметить отображение текста в textbox`е ?
|
|||
|
||||
| V0LT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 16.6.2009 Репутация: нет Всего: 2 |
Delphi 2009 или 2010?
VS 2010 ... опишите среду Это сообщение отредактировал(а) V0LT - 9.10.2009, 20:05 |
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
VS 2008, C# |
|||
|
||||
| BinaryShadow |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.3.2004 Репутация: 1 Всего: 1 |
Для начала попробуй изменить шрифт в свойстве font. Если не поможет, то копай в сторону Encoding.
|
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Font не помогает, а можно подробнее о Encoding. Раньше не приходилось ничего подобного делать. |
|||
|
||||
| BinaryShadow |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.3.2004 Репутация: 1 Всего: 1 |
Кусок кода в студию, так сложно подсказать.
|
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Входная строка str имеет вид: (49096,63084,8557,3743,4162,63084,8557) - зашифрованные символы
Это сообщение отредактировал(а) Vitkaz - 9.10.2009, 22:43 |
|||
|
||||
| BinaryShadow |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.3.2004 Репутация: 1 Всего: 1 |
Легче не стало.
Попробуй в строке str+= Convert.ToChar(mas[j]);//получаю символы и добавляю в строку изменить преобразование, к примеру на ToString. Не, эти функции все в юникоде возвращают. Попробуй исключить из кода блок шифрования, если будут символы нормально отображаться значит дело в алгоритме (что скорее всего). Ты когда производишь шифрование, скорее всего работаешь в символами 8-ми битными. Это сообщение отредактировал(а) BinaryShadow - 10.10.2009, 00:36 |
|||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
Дело в том, что любой текст, который я ввожу сам, зашифровывается и расшифровывается нормально, а это слово дал расшифровать препод и такая поблема только с этим зашифрованным словом. И блок шифрования я убрать не могу т.к. я эти символы получаю в результальте преобразования чисел, полученных с помощью применения этого блока. Может не совсем понятно т.е. есть форма. http://files.mail.ru/RCSI4T?t=1 В ней есть поля для ввода текста, который нужно зашифровать, либо можно ввести зашифрованный текст( например: 49096,63084,8557,3743,4162,63084,8557,), который нужно расшифровать. Так вот, я ввожу этот текст, текст преобразуется в массив, после чего к каждому элементу массива применяется блок расшифровки, получаем: 202,238,240,232,228,238,240 Преобразуем в символы. str+= Convert.ToChar(mas[j]);--------->Êîðèäîð Это сообщение отредактировал(а) Vitkaz - 10.10.2009, 21:28 |
|||
|
||||
| BinaryShadow |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 10.3.2004 Репутация: 1 Всего: 1 |
||||
|
||||
| Vitkaz |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 29.11.2006 Репутация: нет Всего: нет |
см. форму. Там параметр e ключ зашифровки, d ключ расшифровки, N используется для возведения в степень по модулю N, т.е. все параметры известны. И если это не понятное слово открыть с помощью программы Штирлец, то это слово нормально отображается. Это слово "коридор", оно зашифровано ключом e. Это сообщение отредактировал(а) Vitkaz - 10.10.2009, 21:39 |
|||
|
||||
| avvo |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 11.9.2007 Репутация: 1 Всего: 4 |
Все строки в.net - это строки в кодировке UTF32.
Соответственно ToChar: Converts the value of the specified 32-bit signed integer to its equivalent Unicode character. т.е. воспринимает передаваемые ей числа как rjды символов в кодировке UTF32. Русские буквы там начинаются далеко за пределами третьей сотни. Соответственно вместо Convert.ToChar(mas[j]) должно быть что-то вроде Encoding.GetEncoding(1251).GetChars(new byte[] { (byte)(mas[j]) }); |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |