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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2013, 14:24   #11
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

взял этот пример
Код:
const
  csCryptFirst = 20;
  csCryptSecond = 230;
  csCryptHeader = 'Crypted';

type
  ECryptError = class(Exception);

function CryptString(Str:String):String;
var i,clen : Integer;
begin
  clen := Length(csCryptHeader);
  SetLength(Result, Length(Str)+clen);
  Move(csCryptHeader[1], Result[1], clen);
  For i := 1 to Length(Str) do
   begin
    if i mod 2 = 0 then
     Result[i+clen] := Chr(Ord(Str[i]) xor csCryptFirst)
    else
     Result[i+clen] := Chr(Ord(Str[i]) xor csCryptSecond);
   end;
end;

function UnCryptString(Str:String):String;
var i, clen : Integer;
begin
  clen := Length(csCryptHeader);
  SetLength(Result, Length(Str)-clen);
  if Copy(Str, 1, clen) < > csCryptHeader then
   raise ECryptError.Create('UnCryptString failed');

  For i := 1 to Length(Str)-clen do
   begin
    if (i) mod 2 = 0 then
     Result[i] := Chr(Ord(Str[i+clen]) xor csCryptFirst)
    else
     Result[i] := Chr(Ord(Str[i+clen]) xor csCryptSecond);
   end;
end;
beegl вне форума Ответить с цитированием
Старый 10.01.2013, 14:35   #12
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

что за ошибка



Код:
procedure TForm2.LogPassLoad;
var
   RegIniFile:TRegIniFile; 
begin
 RegIniFile:=TRegIniFile.Create('MySelfRegistryApplication');
 Form2.Left:=RegIniFile.ReadInteger('Form1','Form1Left',Form2.Left);
 Form2.Top:=RegIniFile.ReadInteger('Form1','Form1Top',Form2.Top);
 Form2.Height:=RegIniFile.ReadInteger('Form1','Form1Height',Form2.Height);
 Form2.Width:=RegIniFile.ReadInteger('Form1','Form1Width',Form2.Width);
 ExtractExt.Checked:=RegIniFile.ReadBool('Form1','ExtractExt', False);
 Timer2.Enabled := RegIniFile.ReadBool('Form1','TimerEnabl', True);
 Phone.Text:=RegIniFile.ReadString('Form1','Edit1TextEx',Phone.Text);
 Password.Text:=RegIniFile.ReadString('Form1','Edit1TextExt',UnCryptString(Password.Text));
 RegIniFile.Free; 
end;

procedure TForm2.LogPassSave;
 Var RegIniFile:TRegIniFile;
begin
 RegIniFile:=TRegIniFile.Create('MySelfRegistryApplication');
 RegIniFile.WriteInteger('Form1','Form1Left',Form2.Left);
 RegIniFile.WriteInteger('Form1','Form1Top',Form2.Top);
 RegIniFile.WriteInteger('Form1','Form1Height',Form2.Height);
 RegIniFile.WriteInteger('Form1','Form1Width',Form2.Width);
 RegIniFile.WriteBool('Form1','ExtractExt',ExtractExt.Checked);
 RegIniFile.WriteBool('Form1','TimerEnabl',Timer2.Enabled);
 RegIniFile.WriteString('Form1','Edit1TextEx',Phone.Text);
 RegIniFile.WriteString('Form1','Edit1TextExt',CryptString(Password.Text));
RegIniFile.Free;
end;
или покажите свой вариант
beegl вне форума Ответить с цитированием
Старый 10.01.2013, 20:09   #13
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
что за ошибка

Цитата:
Код:
  if Copy(Str, 1, clen) <> csCryptHeader then
   raise ECryptError.Create('UnCryptString failed');
Вроде всё очевидно, в начале строки отсутствует марка
Цитата:
Код:
csCryptHeader = 'Crypted';
причина:
Цитата:
Код:
Password.Text:=RegIniFile.ReadString('Form1','Edit1TextExt',(Password.Text));
должно быть
Код:
Password.Text:=UnCryptString(RegIniFile.ReadString('Form1','Edit1TextExt','Дефолтное значение'));
тырк

Последний раз редактировалось Lime; 10.01.2013 в 20:14.
Lime вне форума Ответить с цитированием
Старый 26.03.2013, 13:03   #14
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

как не допустить запись в реестр, которая кодирует текст,
Код:
const
  csCryptFirst = 20;
  csCryptSecond = 230;
  csCryptHeader = 'Crypted';
под каждым началом программу добавляет свои собственные символы пароля, а именно из константы
Код:
csCryptHeader = 'Crypted'
, освободил, оформил так :
Код:
csCryptHeader = ''
, т.е. пустой csCryptHeader, но когда константа ровняется csCryptHeader = '' - пароль/текст совсем не шифрует.
Подскажите, что делать, как исправить, или что не верно в моем коде?
Код:
procedure TForm2.LogPassLoad;
var
   RegIniFile:TRegIniFile; // ðååñòðîâûé îáúåêò
begin
 RegIniFile:=TRegIniFile.Create('Software');
 RegIniFile.OpenKey('Intertelecom Tools',true);
 RegIniFile.OpenKey('Intertelecom Tools-Open',true);
 begin
 Form2.Left:=RegIniFile.ReadInteger('Intertelecom','Intertelecom Form1Left',Form2.Left);
 Form2.Top:=RegIniFile.ReadInteger('Intertelecom','Intertelecom Form1Top',Form2.Top);
 Form2.Height:=RegIniFile.ReadInteger('Intertelecom','Intertelecom Form1Height',Form2.Height);
 Form2.Width:=RegIniFile.ReadInteger('Intertelecom','Intertelecom Form1Width',Form2.Width);
 ExtractExt.Checked:=RegIniFile.ReadBool('Intertelecom','Intertelecom ExtractExt', False);
 CheckBoxBMPFade1.Checked := RegIniFile.ReadBool('Intertelecom','Intertelecom ExtractExtExx', False);
 Phone.Text:= RegIniFile.ReadString('Intertelecom','Intertelecom Phone',Phone.Text);
 Password.Text := UnCryptString(RegIniFile.ReadString('Intertelecom','Intertelecom Password',Password.Text));
 RegIniFile.Free; // óíè÷òîæåíèå âðó÷íóþ ñîçäàííîãî îáúåêòà
end;
end;

procedure TForm2.LogPassSave;
var
   RegIniFile:TRegIniFile;
begin
 RegIniFile:=TRegIniFile.Create('Software');
 RegIniFile.OpenKey('Intertelecom Tools',true);
 RegIniFile.OpenKey('Intertelecom Tools-Open',true);
 begin
 RegIniFile.WriteInteger('Intertelecom','Intertelecom Form1Left',Form2.Left);
 RegIniFile.WriteInteger('Intertelecom','Intertelecom Form1Top',Form2.Top);
 RegIniFile.WriteInteger('Intertelecom','Intertelecom Form1Height',Form2.Height);
 RegIniFile.WriteInteger('Intertelecom','Intertelecom Form1Width',Form2.Width);
 RegIniFile.WriteBool('Intertelecom','Intertelecom ExtractExt',ExtractExt.Checked);
 RegIniFile.WriteBool('Intertelecom','Intertelecom ExtractExtExx',CheckBoxBMPFade1.Checked);
 RegIniFile.WriteString('Intertelecom','Intertelecom Phone',Phone.Text);
 RegIniFile.WriteString('Intertelecom','Intertelecom Password',CryptString(Password.Text));
 RegIniFile.Free;
end;
end;
использовал стандартные компоненты
Код:
RegIniFile.WriteString('Intertelecom','Intertelecom Password',IdEncoderMIME1.Encode(Password.Text));
Код:
Password.Text := IdDecoderMIME1.DecodeString(RegIniFile.ReadString('Intertelecom','Intertelecom Password',Password.Text));

Последний раз редактировалось beegl; 26.03.2013 в 14:44. Причина: добавил текст
beegl вне форума Ответить с цитированием
Старый 26.03.2013, 19:23   #15
Михаил Юрьевич
Форумчанин
 
Аватар для Михаил Юрьевич
 
Регистрация: 25.12.2007
Сообщений: 661
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
Вышла новая версия. Мемножко изменил интерфейс, теперь DLL файлы кидаются в:

'C:\WINDOWS\system32\LIBEAY32.DLL'
'C:\WINDOWS\system32\SSLEAY32.DLL'

тоесть теперь один исполняемый файл

добавил кнопку О программе, авторские права и ограничения, для красоты, так полагается))))) ...... мелкие доработки. без вредного кода, т.е. без вируса, файл необходимо запускать на компе, на ПК. Приятного просмотра). Пишите, пишите, что добавить/убрать?



ссылка на скачивание: http://rghost.ru/42880201
ссылка на скачивание: http://upwap.ru/2969235
ссылка на скачивание: http://www.multiupload.nl/XLYKM2J92Z
Вы хоть предупреждайте что выкладываете, при запуске ждал секунд 20 пока заставка прорисовывалась, а когда закрыть программу хотел, то заставка заняла всю память , и даже при вызове диспетчера задач так он и не открылся. Пришлось убивать процесс другой программой.Это что ,шутка-издевалка программа?
За частые поиски был забанен во всех известных
поисковых системах!
Михаил Юрьевич вне форума Ответить с цитированием
Старый 26.03.2013, 22:12   #16
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

нет, это старая версия, и сменил пароль в другой программе
beegl вне форума Ответить с цитированием
Старый 27.03.2013, 09:47   #17
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

"ваш код - гавно!"©
начните с теории по криптографии в целом. да и знания языка у вас сильно хромают. изучению лишь теории я посвятил около 2х месяцев при написании своего диплома на эту тему. и то этого крайне мало для чего-то серьезного. а вы хотите сразу и чтоб круто было. кто шифрует байты простыми ксорами да еще и константными?) убивайте в себе детский сад. скажете, я гоню?) я не завидую компании ИнтерТелеКом, которая фигурирует у вас в коде
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 14.03.2014, 09:30   #18
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
Лампочка CryptEdit

привет, надо компонент CryptEdit, существует такой?
beegl вне форума Ответить с цитированием
Старый 14.03.2014, 09:59   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
привет, надо компонент CryptEdit, существует такой?
Привет, а что он делает (для чего предназначен)?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.03.2014, 10:16   #20
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Привет, а что он делает (для чего предназначен)?
Для предмета обсуждения в этой теме, это же очевидно.

ТС:Берете алгоритм DES и вперед, там же BlowFish есть.

Очевидно beegl не хочет думать своей головой, и по-этому, пишет программу силами других программистов(код, компоненты все с инета).

Последний раз редактировалось Человек_Борща; 14.03.2014 в 10:18.
Человек_Борща вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Сшить 3 куска кода (WinApi) SartAlfard Помощь студентам 0 17.10.2011 19:11
Извлечение из HTML страницы куска кода temkas C# (си шарп) 2 08.08.2011 22:16
Шифрование куска кода программы Crystallon Общие вопросы Delphi 6 06.05.2011 11:29
Шифрование куска кода программы Crystallon Фриланс 0 05.05.2011 15:55
Разбор куска кода. Alexcomeback Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 05.04.2011 18:14