Gerador de Senhas Personalizado em Delphi

Responder
AlexNuckem
Mensagens: 1
Registado: segunda mar 03, 2025 1:06 am

Gerador de Senhas Personalizado em Delphi

Mensagem por AlexNuckem »

unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.CheckLst;

type
TForm1 = class(TForm)
EditTamanho: TEdit;
ButtonGerar: TButton;
LabelResultado: TLabel;
Label1: TLabel;
CheckMaiusculas: TCheckBox;
CheckMinusculas: TCheckBox;
CheckNumeros: TCheckBox;
CheckSimbolos: TCheckBox;
procedure ButtonGerarClick(Sender: TObject);
private
function GerarSenha(Tamanho: Integer): string;
public
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

function TForm1.GerarSenha(Tamanho: Integer): string;
var
Caracteres: string;
i: Integer;
begin
Caracteres := '';
if CheckMaiusculas.Checked then
Caracteres := Caracteres + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if CheckMinusculas.Checked then
Caracteres := Caracteres + 'abcdefghijklmnopqrstuvwxyz';
if CheckNumeros.Checked then
Caracteres := Caracteres + '0123456789';
if CheckSimbolos.Checked then
Caracteres := Caracteres + '!@#$%^&*()_+-=';

if Caracteres = '' then
begin
Result := '';
Exit;
end;

Randomize;
Result := '';
for i := 1 to Tamanho do
Result := Result + Caracteres[Random(Length(Caracteres)) + 1];
end;

procedure TForm1.ButtonGerarClick(Sender: TObject);
var
Tamanho: Integer;
begin
if not TryStrToInt(EditTamanho.Text, Tamanho) or (Tamanho <= 0) then
begin
ShowMessage('Digite um tamanho válido para a senha!');
Exit;
end;

if GerarSenha(Tamanho) = '' then
begin
ShowMessage('Selecione pelo menos uma categoria de caracteres!');
Exit;
end;

LabelResultado.Caption := 'Senha gerada: ' + GerarSenha(Tamanho);
end;

end.


Como montar o formulário

EditTamanho → para digitar o tamanho da senha

CheckMaiusculas → Letras maiúsculas

CheckMinusculas → Letras minúsculas

CheckNumeros → Números

CheckSimbolos → Símbolos

ButtonGerar → texto: Gerar Senha

LabelResultado → para mostrar a senha gerada



Como funciona

O usuário define o tamanho da senha.

Marca as categorias que deseja incluir: maiúsculas, minúsculas, números, símbolos.

Clica Gerar Senha.

O programa monta a senha aleatória com base nas opções selecionadas.

Mostra a senha no LabelResultado.
Responder