PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Remover senha paradox via programação #278586

22/04/2005

0

Amigos,

Tenho um pequeno aplicativo que preciso colocar uma ´segurança´ usando senhas do Paradox. Já consegui via programação colocar ou alterar a senha corrente de todas as tabelas de modo persistente, ou seja, não apenas na sessão atual, mas nas tabelas em si como é feito pelo DataBase Desktop. Sei da falta de segurança oferecido pelo paradox, mas para o caso é suficiente.

Porém tenho a necessidade do próprio usuário, caso queira, remover a senha de segurança das tabelas, mas na rotina que estou usando (em DelphiCorner.co.uk), se colocar a senha em branco ela não faz nada, nem remove nem altera.

Pensei em usar ´DbiDropPassword´ mas parece que não é persistente.

Alguém teria alguma dica?


Segue a rotina em uso:
procedure EncryptPDOXTable(TableName,Password : String);
var
  TblDesc: CRTblDesc;
  LocDB : TDatabase;
begin
  //Initialize the BDE
  Check(DBIInit(nil));

  //Initialize random number generator
  Randomize;
  //Create a local, non-owned database object that
  //points to the path associated with the table.
  LocDB := TDatabase.Create(nil);
  with LocDB do begin
    Params.Add(´path=´ + ExtractFilePath(TableName));
    DatabaseName := ´PDOXEncryptDB´ + IntToStr(Random(50));
    DriverName := ´STANDARD´;
    Connected := True;
  end;

  //Now, initialize the Table Descriptor with the values
  //required to set a master password.
  FillChar(TblDesc, SizeOf(CRTblDesc), 0);
  StrPCopy(TblDesc.szTblName, ExtractFileName(TableName));
  with TblDesc do begin
    bProtected := True;
    StrPCopy(TblDesc.szPassword, Password)
  end;

  //Now do the restructure.
  try
    Check(DbiDoRestructure(LocDB.Handle, 1, @TblDesc,
          nil, nil, nil, False));
  finally
    LocDB.Free;
    DBIExit;
  end;
end;



Aerreira

Aerreira

Responder

Posts

02/05/2005

Aerreira

Estou precisando resolver este problema.. VEJA ACIMA... quem puder dar qualquer sugestão agradeço...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar