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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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