|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.10.2007, 15:39 | #1 |
Познаю мир
Форумчанин Подтвердите свой е-майл
Регистрация: 05.10.2007
Сообщений: 387
|
работа с текстом (алгоритм шифрования)
например у меня есть ID (тип string но содержит цифры)
ID у меня равно 123456789(количество цыфер разное) как мне с этого ID сделать пароль для программы по принцыпу замены 1 2 3 4 5 6 7 8 9 -то что было(естессно без пробелов!) V8P1K3P0D2Z - ДЛИНА В 2 РАЗА БОЛЬШЕ СУТЬ ВАПРОСА КАК МНЕ в этом ID прочитать значение каждой цифры и 1) заменить мою цифру на цифру из "таблички кодов" 2) как после каждой цифры(исходной!) дописать например букву по тойже табличке ? 3)как выполнить обратную операцию 2 и 1 ? табличка : ------------------ эта например табличка по каторой надо менять цфферку на буковку (естессноэто примердля понятия смысла) 1 2 3 4 5 6 7 8 9 0 v o n e m u t z e d ------------------ ------------------это кусочек таблички по каторой меняются буковки a b c d e g h i j k r h z y w m o s h ------------------ (все таблички у меня в уме ну или на бумажке ! покачто ! естессно не stringgrid !) как сделать замену по умному а не так : if poluchaemaiabukva = 'a' then vidavaemaiabekva:='L' else if ........ else if......(естессно надо менять получаемые буквы на выдаваемые согласно табличке...) ??? Надеюсь паможете без критики ! заранее сэнкс ! ---
Последний раз редактировалось Квэнди; 11.10.2007 в 15:43. |
11.10.2007, 18:49 | #2 | |
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
Цитата:
Тебе не кажется, что твои вопросы должны быть здесь (без обид ) Попробуй так: Данный код взят с: http://www.delphisources.ru Код:
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" |
|
11.10.2007, 19:14 | #3 |
Познаю мир
Форумчанин Подтвердите свой е-майл
Регистрация: 05.10.2007
Сообщений: 387
|
мне ненадо шифровать ! мнебы операции с текстом...
как я уже писал разбиение строчки на буквы и замена/вставка букв.... далее я сам придумаю.... ---
Последний раз редактировалось Alex21; 11.10.2007 в 19:55. |
11.10.2007, 19:55 | #4 | |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
Цитата:
Ну да ладно... Полагаю можно использовать 2 массива - 1 для исходного символа, 2-рой для символа замены. Замена производится: a[i]:=b[i]; Восстановление производится обратно: b[i]:=a[i]; p.s.:если я вас правильно понял.
Life is too short, play more...
Как правильно задавать вопросы |
|
12.10.2007, 08:22 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Гагарин, вот пример :
[I]unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; procedure Edit1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; const pasn='vonemutzed';pasa='rhzywmosh'; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Edit1Change(Sender: TObject); var k,i:integer; begin caption:=''; //********* FOR ****************** for i :=1 to length(Edit1.Text) do begin if IsCharAlpha(Edit1.Text[i]) then begin k:=ord(Edit1.Text[i])-ord('a')+1; caption:=caption+pasa[k] end else begin k:=ord(Edit1.Text)-ord('1')+1; caption:=caption+pasn[k] end; end; //******* END FOR ****************{} end; end. Скажи а почему ты выбрал именно такой алгоритм?
I'm learning to live...
|
14.10.2007, 10:02 | #6 |
Познаю мир
Форумчанин Подтвердите свой е-майл
Регистрация: 05.10.2007
Сообщений: 387
|
[quote=Stilet;39831]
k:=ord(Edit1.Text)-ord('1')+1; [quote] В этой строчке ошибка (( не идёт (( что не так ? ---
|
18.10.2007, 09:39 | #7 |
Пользователь
Регистрация: 18.10.2007
Сообщений: 10
|
функция ord применима к перечисляемым данным, т.е. в данном случае к символу. Применимо к символам он возвращает ASCII код символа.
k:=ord(Edit1.Text[index])-ord('1')+1; |
18.10.2007, 09:48 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
k:=ord(Edit1.Text[i])-ord('1')+1;
I'm learning to live...
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм шифрования Диффи-Хеллмана! | Kaifolom | Помощь студентам | 3 | 09.08.2013 06:37 |
[Алгоритм] Симметричного шифрования | tuxx32 | Помощь студентам | 6 | 13.05.2010 09:39 |
Алгоритм шифрования | Simply-Art | Общие вопросы Delphi | 14 | 01.02.2008 14:30 |
Алгоритм (RichEdit,inifiles,работа с текстом) | GAGARIN-NEW | Общие вопросы Delphi | 8 | 29.01.2008 19:17 |