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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2014, 18:29   #1
Prim@
 
Регистрация: 14.04.2014
Сообщений: 4
По умолчанию Генератор пароля на C++

Код:
if resx <> '' then
begin
  for i:=1 to len do
  begin
    randomize();
    pass:=pass+resx[random(length(resx))+1];
  end;
end
else
  MessageDlg('Выберите составляющие пароля.',mtWarning, [mbOK], 0);

result.Text:=pass;

Последний раз редактировалось Stilet; 14.04.2014 в 20:31.
Prim@ вне форума Ответить с цитированием
Старый 14.04.2014, 19:09   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
как эту строку записать в с++
какую именно?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 14.04.2014, 19:29   #3
Prim@
 
Регистрация: 14.04.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
какую именно?
с этим вроде справился возникла другая чучуть проблемка по поже скину сюда

Цитата:
Сообщение от pproger Посмотреть сообщение
какую именно?
Код:
#include <vcl.h>
#pragma hdrstop

#include "Unit19.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
String res,str,spec,bigstr,cif;
 int i;
 String pass,resx;
 int len;
str="abcdefghijklmnopqrstuvwxyz";
  bigstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  cif="1234567890";
  spec="!@#$%^&*()''\\/|~`?<>,.;:{}[]";
  res="";
  if (CheckBox1->Checked == true)
  res=res+spec;
  if (CheckBox2->Checked == true)
   res=res+str;
  if (CheckBox3->Checked == true)
   res=res+bigstr;
 if (CheckBox4->Checked == true)
   res=res+cif;
 //  Edit2->Text=res;
 {
 resx=Edit2->Text;
 len=CSpinEdit1->Value;
for (int i=0; i <CSpinEdit1->Value; i++)
        { pass=pass+resx[random(sizeof(resx))+1]; }}
        result->Text=pass;
}
допустим ставим две галки маленькие и большие генерируются одна из них

и да еще использует первые 4 символа в массиве




___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 15.04.2014 в 09:45.
Prim@ вне форума Ответить с цитированием
Старый 15.04.2014, 10:03   #4
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Цитата:
Сообщение от pproger
какую именно?
Какую именно строку?
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 17.04.2014, 17:22   #5
Prim@
 
Регистрация: 14.04.2014
Сообщений: 4
По умолчанию

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit19.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 *Form1;
String str,spec,bigstr,cif;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
str="abcdefghijklmnopqrstuvwxyz";
bigstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
cif="1234567890";
spec="!@#$%^&*()''\\/|~`?<>,.;:{}[]";
}
//---------------------------------------------------------------------------


void __fastcall TForm1::CheckBox4Click(TObject *Sender)
{
String res;

res="";
if (CheckBox1->Checked == true)
res=res+spec;
if (CheckBox2->Checked == true )
res=res+str;
if (CheckBox3->Checked == true )
res=res+bigstr;
if (CheckBox4->Checked == true)
res=res+cif;
Edit2->Text=res;


}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
String pass,resx;
int len;
{
resx=Edit2->Text;
len=CSpinEdit1->Value;

if (resx != "")
{
for (i=1; i<len;i++);
randomize();
pass=pass+resx[sizeof((resx))+1];
}
}
// MessageBox('Âûáåðèòå ñîñòàâëÿþùèå ïàðîëÿ.',mtWarning, [mbOK], 0);

result->Text=pass;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::resultChange(TObject *Sender)
{
result->SelectAll();
}

Модератор.[/B][/COLOR][/QUOTE]
Prim@ вне форума Ответить с цитированием
Старый 17.04.2014, 17:23   #6
Prim@
 
Регистрация: 14.04.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Krok27 Посмотреть сообщение
Какую именно строку?
for (i=1; i<len;i++);
randomize();
pass=pass+resx[sizeof((resx))+1];

эту чтоб робил рандом
Prim@ вне форума Ответить с цитированием
Старый 21.04.2014, 08:17   #7
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

У тебя же в исходнике правильно было:

Код:
 pass=pass+resx[random(sizeof(resx))+1];
а ты пишешь

Код:
pass=pass+resx[sizeof((resx))+1];
И
Код:
randomize();
можно выполнить один раз до цикла.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка пароля tr1x Общие вопросы Delphi 12 27.02.2011 13:05
Защита пароля Vetlblya Общие вопросы Delphi 1 25.04.2010 14:33
Длина пароля Lifefine Общие вопросы Delphi 7 25.02.2010 11:11
подбор пароля kixaka Помощь студентам 4 19.04.2008 08:45