Remover senha paradox via programação
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:
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
Curtidas 0
Respostas
Aerreira
22/04/2005
Estou precisando resolver este problema.. VEJA ACIMA... quem puder dar qualquer sugestão agradeço...
GOSTEI 0