Esta funcion genera un .ini con el mismo nombre que el ejeutable
y graba por default un valor para cada item de la seccion "Login"
y despues conecta a oracle y la aplicacion arranca de diez, el problema que tengo es que cuando
despues que cierro la aplicacion y vuelvo a ejecutarla que el valor
recuperado y desencriptado para el item "Server" me pierde un digito y no se
es cuando encripta o cuando desencripta de manera ya no puedo conectar a oracle
Las funciones _encrypt() y _decrypt() estan bien usadas asi?
En el main defini:
Code: Select all
static cUser := "alondra" // USUARIO
static cPass := "alondra" // PASSWORD
static cHost := "naqdesa" // NOMBRE DEL HOST
static cBase := "naqdesa" // ALIAS TNS BASE ORACLE DEL AMBIENTE
static cProv := "MSDAORA.1" // PROVEEDOR DEL API CONNECTOR
static cFech := "20160121" //
Code: Select all
FUNCTION Gus_OpenConfig()
LOCAL ceHost
LOCAL ceUser
LOCAL cePass
LOCAL ceFech
LOCAL cPASSWORD := "push"
ccConfig := Get_NameProgram( hb_ProgName() ) + ".ini"
IF FILE( ccConfig )
BEGIN INI FILE ( ccConfig )
GET ceHost SECTION "Login" ENTRY "Server"
GET ceUser SECTION "Login" ENTRY "User"
GET cePass SECTION "Login" ENTRY "Haslog"
GET ceFech SECTION "Login" ENTRY "DatePM"
END INI
cHost := _decrypt( ceHost , cPASSWORD )
cUser := _decrypt( ceUser , cPASSWORD )
cPass := _decrypt( cePass , cPASSWORD )
cFech := _decrypt( ceFech , cPASSWORD )
cxCtrl := "Server=" + cHost + hb_OsNewLine() + ;
"User=" + cUser + hb_OsNewLine() + ;
"Haslog=" + cPass + hb_OsNewLine() + ;
"DatePM=" + cFech + hb_OsNewLine()
msginfo(cxCtrl)
ELSE
ceHost := _encrypt( cHost , cPASSWORD )
ceUser := _encrypt( cUser , cPASSWORD )
cePass := _encrypt( cPass , cPASSWORD )
ceFech := _encrypt( cFech , cPASSWORD )
BEGIN INI FILE ( ccConfig )
SET SECTION "Login" ENTRY "Server" TO ceHost
SET SECTION "Login" ENTRY "User" TO ceUser
SET SECTION "Login" ENTRY "Haslog" TO cePass
SET SECTION "Login" ENTRY "DatePM" TO ceFech
END INI
ENDIF
RETURN NIL