Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 05.05.2011, 10:47   #1
Crunkordie
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 48
Репутация: 18
Вопрос Кодирование текста

Здравствуйте.
Подскажите пожалуйста, как можно закодировать строку типа "Иванов Иван Иванович 1985г." в строку типа "APMKWBBC78DS5S213FEW34", т.е. в какой-то набор символ из заглавных латинских букв и цифр.
Crunkordie вне форума   Ответить с цитированием
Старый 05.05.2011, 11:09   #2
Ermowkin
Пользователь
 
Регистрация: 19.04.2011
Сообщений: 23
Репутация: 22
По умолчанию

Можно использовать Base64
Ermowkin вне форума   Ответить с цитированием
Старый 05.05.2011, 14:05   #3
Crunkordie
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 48
Репутация: 18
По умолчанию

Пробовал с Base64, но в итоге строка в закодированном виде слишком длинная...
Crunkordie вне форума   Ответить с цитированием
Старый 05.05.2011, 14:12   #4
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Адрес: где-то возле Минска
Сообщений: 489
Репутация: 73

icq: 634474495
skype: chertovich1992
По умолчанию

Тут наверное подходит слово шифрование, а не кодировка. Можно зашифровать при помощи своего алгоритма, а можно использовать уже готовые. Есть шифрование с ключем и без, почитай, выбери какой алгоритм тебе больше подходит, а мы тебе поможем его реализовать
chertovich вне форума   Ответить с цитированием
Старый 05.05.2011, 15:21   #5
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,614
Репутация: 5352
По умолчанию

Цитата:
Тут наверное подходит слово шифрование, а не кодировка.
Где Вы в словах TC увидели шифрование?! Тут речь идёт именно о КОДИРОВАНИИ!

Crunkordie,
Цитата:
Сообщение от Crunkordie
Пробовал с Base64, но в итоге строка в закодированном виде слишком длинная...
Ну так и должно быть! Ведь фактически из 8-битной кодировки символы переводятся в 7-битную (да и то не все байты допустимы к использованию.
Поэтому размер строки возрастает (примерно на 1/4). и в описании алгоритма это есть.
Может быть, Вам что-то другое надо?! Зачем Вам это кодирование? Может быть, Вам MD5 надо получать?!
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 05.05.2011, 16:11   #6
Crunkordie
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 48
Репутация: 18
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Ну так и должно быть! Ведь фактически из 8-битной кодировки символы переводятся в 7-битную (да и то не все байты допустимы к использованию.
Поэтому размер строки возрастает (примерно на 1/4). и в описании алгоритма это есть.
Может быть, Вам что-то другое надо?! Зачем Вам это кодирование? Может быть, Вам MD5 надо получать?!
Честно говоря, я не совсем разбираюсь в этом, но хотелось, что бы исходный текст был максимально коротким. А что касается степени шифрования - это не важно, лишь бы строку не смогли тупо прочитать.
Crunkordie вне форума   Ответить с цитированием
Старый 05.05.2011, 16:36   #7
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,614
Репутация: 5352
По умолчанию

Цитата:
А что касается степени шифрования - это не важно
оба-на.. а вот и шифрование выползло..
Так Вам нужно кодировать или шифровать?! (кодировать - это, примитивно, одни коды - заменять на другие коды. шифровать - это производить криптографическое преобразование согласно алгоритма и ключа, такое, что никто не сможет выполнить обратную операцию (дешифрацию), если не имеет исходного ключа.
Хеширование - необратимая операция получения цифровой контрольной суммы (хэш-суммы).

Ладно. пойдём от обратного. попытаемся выяснить, А ДЛЯ ЧЕГО ЭТО ВАМ?!
Вы хотите зашифровать строчку так, чтобы её длина не изменилась? Потом есть необходимость дешифрации - т.е. восстановления исходной строки?
Допускается ли при этом получение непечатных символов? Где Вы собираетесь эту зашифрованную строку хранить? Как обрабатывать?
может банальный XOR строки с ключом?
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 05.05.2011, 16:45   #8
Crunkordie
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 48
Репутация: 18
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
А ДЛЯ ЧЕГО ЭТО ВАМ?!
Программа формирует файл, где имя файла должна быть эта зашифрованная\закодированная\хеширо ванная строка.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Вы хотите зашифровать строчку так, чтобы её длина не изменилась?
Строка должна быть максимально короткая.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
есть необходимость дешифрации - т.е. восстановления исходной строки?
да.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Допускается ли при этом получение непечатных символов? Где Вы собираетесь эту зашифрованную строку хранить?
Эта строка в будущем будет представлять с собой имя файла, поэтому нужно исключить такие символы как \ / : * и т.д.
Crunkordie вне форума   Ответить с цитированием
Старый 05.05.2011, 18:06   #9
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
Репутация: 75

icq: 169527143
По умолчанию

Цитата:
как можно закодировать строку .. в строку .. набор символ из заглавных латинских букв и цифр .. лишь бы строку не смогли тупо прочитать
Нахрена нужна именно строка (!) как результат кодирования, который никто якобы не должен ни тупо ни остро прочитать ?)

Это что, блажь ? Желание подразнить потенциального "злоумышленника", мол, вот строка, а что в ней закодировано, мол, не скажу ?)
mss вне форума   Ответить с цитированием
Старый 05.05.2011, 19:25   #10
Crunkordie
Пользователь
 
Регистрация: 18.02.2011
Сообщений: 48
Репутация: 18
По умолчанию

Цитата:
Сообщение от mss Посмотреть сообщение
Нахрена нужна именно строка (!) как результат кодирования, который никто якобы не должен ни тупо ни остро прочитать ?)

Это что, блажь ? Желание подразнить потенциального "злоумышленника", мол, вот строка, а что в ней закодировано, мол, не скажу ?)
Эта строка - это имя файла.
Допустим имя файла "Иванов Иван Иванович 1985г. бла бла бла.......", а кодирую ее для того, что бы:
1. Сократить имя
2. Передавать файлы на мой взгляд лучше с именем из латинских символов.
3. Это поможет уберечь информацию от людей, которым ее нельзя видеть.
Crunkordie вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодирование Михаил93 Помощь студентам 5 27.02.2011 02:49
Кодирование asil Помощь студентам 1 02.05.2009 20:48
Кодирование. Blizzz Общие вопросы Delphi 5 19.01.2009 19:28
Кодирование Mss_Smith Помощь студентам 3 17.04.2007 14:46


22:12.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru