Заблокирован
|
|||||||||||
1 | |||||||||||
Как поменять результат шифрование \ Метод шифрование RSA21.02.2014, 15:38. Показов 6341. Ответов 20
Метки нет (Все метки)
Здравствуйте! Прошу помощи! В просторах интернета нашла одну статью в которой реализован метод шифрования RSA. Решила его опробовать, но хотелось бы кое что изменить, а именно чтобы шифрования происходило на латинице или кириллице. Как вы видите из скриншота шифруется слова непонятными иероглифами, не могу найти в коде от чего это зависит. Выручайте! Буду очень благодарна!
Отрывки кода для шифровки и дешифровки
0
|
21.02.2014, 15:38 | |
Ответы с готовыми решениями:
20
Как использовать ключ RSA в AES шифрование? RSA-шифрование. Зависает при больших числах P и Q. Как исправить? Rsa шифрование Шифрование RSA |
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
21.02.2014, 16:54 | 2 |
Давайте начнем с того, что любая информация в компьютере кодируется совокупностью некоторых чисел.
То есть фраза "Hello! How are you", по большому счету, это последовательность чисел. Способ интерпретации этих чисел выбирает пользователь (ну или программист). То есть одни и те же данные можно воспринимать как число, как букву, как текст, как математическое выражение, как координаты, как массив контролов... Ну так вот. Суть шифрования - обратимое преобразование этих данных. То есть можно договориться, например, каждую букву заменять ее порядковым номером в алфавите. Можно вспомнить, что кроме букв есть еще другие символы, составить таблицу всех символов и заменять каждую букву номером из этой таблицы. Чтобы интерпретировать эти данные такая таблица должна быть у меня и, допустим, у моего коллеги, которому я эти данные передаю. Можно договориться также перед передачей производить какие-либо математические действия с этими номерами, например, умножать на 2, чтобы чужие не смогли прочитать наши сообщения. То есть для того, чтобы передать какой-то текст, я и мой коллега должны будем знать способ шифрования и то как данные интерпретировать. Надеюсь я достаточно доходчиво объясняю XD
1
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
||||||
21.02.2014, 17:15 | 4 | |||||
Похоже вы не совсем понимаете, как происходит хранение информации в памяти. Ну да ладно.
Давайте подробнее. Вы на выходе получаете массив байт (диапазон 0-255). При этом хотите, чтобы остались только числа, допустим, от 0 до 52. Что будем делать с остальными? Совершенно не вижу смысла в вашей затее. Добавлено через 4 минуты А чтобы выглядело не так страшно, можно сделать, например, так:
2
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
21.02.2014, 17:28 | 6 |
Это не иероглифы, это массив байт XD
Берете этот массив байт, отдаете его этой функции, она отдает вам строку, в которой будут записаны эти же байты в 16-ричной системе счисления. Её читать существенно удобнее, как правило.
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
21.02.2014, 17:35 | 9 |
Ну вы определитесь чего вы хотите для начала.
а вообще вот есть у вас метод Encryption он принимает три параметра - массив байт, RSAParameters и булев, возвращает массив байт. Вам надо добавить еще один метод, который принимает массив байт и возвращает строку (см в моем посте выше) Потом откуда-нибудь этот метод вызвать и полученную строку как-нибудь показать пользователю.
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
21.02.2014, 17:51 | 11 |
Я вас верю, у вас все получится.
0
|
3462 / 2473 / 695
Регистрация: 02.08.2011
Сообщений: 6,705
|
|
21.02.2014, 18:02 | 12 |
xoraxax, к чему вся эта теория ? где ответ по делу?
Суть в том, что весь текст представляется в виде набора байтов (зависит от кодировки) Допустим UTF-16. Когда вы производите шифрование, все байты видоизменяются и после обратного перевода в текст текущая кодировка будет просто подбирать на место новых значений новые символы, если нет какого-то символа в таблице, то ставится заглушка (на вашем скрине они указаны в виде точек,вроде, точно не помню,Почитайте про кодировки). Ну а почему китайские иероглифы ( или хз какие они там), потому что алфавиты у стран востока самые большие. Итог: эта суть шифрования и принципы кодирования текста. тут нечего менять! Добавлено через 3 минуты Обратно ведь нормально дешифруется. )
1
|
Заблокирован
|
|
21.02.2014, 18:12 [ТС] | 13 |
IamRain, неужели все так плохо и никак нельзя сменить эти символы? я искала кодировки изначально, но не смогла найти, хотелось бы поменять на UTF-8 допустим. Какую кодировку надо взять и где ее поменять, чтобы не было символов подобных этому? Что мне надо сделать для этого? Вижу вы знающий человек, помогите пожалуйста! Выручайте
0
|
xoraxax
|
21.02.2014, 18:13
#14
|
Не по теме: IamRain, вы таки считаете, что ваш ответ более "по делу"? XD
0
|
3462 / 2473 / 695
Регистрация: 02.08.2011
Сообщений: 6,705
|
|
21.02.2014, 18:15 | 15 |
altuwa, я вам уже ответил.
Не по теме: xoraxax, объективно, да)
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
21.02.2014, 18:24 | 17 |
Ну это как посмотреть =) Несколько проще воспринимается 16ричная запись, нежели набор случайных символов.
Если речь была именно об этом, функцию я привел чуть выше. Вам осталось только вставить ее в свой код. А если не об этом, то надо, все таки, определиться чего именно вы хотите.
0
|
Master of Orion
|
|
21.02.2014, 18:27 | 18 |
xoraxax, легче, не спорю. Но для ТСа, которая все равно не разбирается во внутреннем представлении данных, это все равно китайская грамота. Поэтому ключевое слово в той фразе - вам
0
|
71 / 62 / 33
Регистрация: 03.09.2013
Сообщений: 306
|
|
22.02.2014, 00:49 | 19 |
Человек совсем не в теме. Под её задачи можно подменять одни символы другими, хотя бы тупо +1.
Криптостойкость никакая, но переписка уже будет защищена. А большее похоже и не надо. altuwa, Все толковые алгоритмы сжатия, а тем более шифрования превращают текст в набор иероглифов. Попробуйте для примера открыть вордовский документ блокнотом очень удивитесь, но там такие же иероглифы. Получить неиерогливы сделать свой алгоритм, использующий для кодирования только символы кирилицы, латиницы и цифр, это вполне возможно. Но не надёжно, из за того что символов меньше.
0
|
Master of Orion
|
|
22.02.2014, 00:59 | 20 |
Driwars, да даже примитивный xor с ключем даст иероглифы, что уж тут говорить...
1
|
22.02.2014, 00:59 | |
22.02.2014, 00:59 | |
Помогаю со студенческими работами здесь
20
RSA шифрование RSA шифрование Шифрование rsa Шифрование по алгоритму RSA Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |