Power Builder - Encryptar valores

 
Vista:

Encryptar valores

Publicado por Iván Salazar (101 intervenciones) el 16/01/2006 17:23:03
Hola a todos

Sabe alguien que sucede con este error, lo encrypto y cuando lo voy a desencryptar lee mal los caracteres

el valor encryptado
dba=?}{

y devuelve al desencryptar
dba=#ba

por consiguiente al comparar nunca es igual.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Encryptar valores

Publicado por Jancarlo (890 intervenciones) el 16/01/2006 20:11:47
No se si tendrás estas funciones pero te las mando. Es un código sencillo para encriptar y Desencriptar.

//Función para Encriptar (string a_valor) retorna string

string wtxt,wcrip,wcar
long xi,wlen

wtxt = trim(a_valor)
wlen=len(wtxt)+1
wcrip =""
for xi=1 to wlen - 1
wcar=mid(wtxt,xi,1)
wcar=char(asc(wcar)+(wlen)-xi)
wcrip=wcrip+wcar
next
return wcrip

//Función para Descencriptar (string a_valor) retorna string

string wtxt,wcrip='',wcar
long xi,wlen

wtxt = a_valor
wcrip = ""
wlen=len(wtxt)+1
for xi=1 to wlen - 1
wcar=mid(wtxt,xi,1)
wcar=char(asc(wcar)-(wlen)+xi)
wcrip=wcrip+wcar
next

return wcrip

Cualquier duda nos comentas...

Suerte !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Encryptar valores

Publicado por Iván Salazar (101 intervenciones) el 17/01/2006 20:50:02
Hola JanCarlo

Gracias por el script hice la prueba y me funciono mejor que el que tenia, lo veo mas optimo
de todas maneras te mando el que yo utilizo

//Funcion para encriptar (string texto) return string

string ls_ClaveCif
integer li_Pos

ls_ClaveCif = ''
for li_Pos = 1 to LEN(Texto)
ls_ClaveCif = ls_ClaveCif + Char(((ASC(Mid(Texto,li_Pos,1)) + 32) - &
(li_Pos + LEN(Texto))))
next

return ls_ClaveCif

//Funcion para Desencriptar (string texto) return string

string ls_ClaveDesc
integer li_Pos

ls_ClaveDesc = ''

for li_Pos = 1 to LEN(Texto)
ls_ClaveDesc = ls_ClaveDesc + Char(((ASC(Mid(Texto,li_Pos,1)) + &
(li_Pos + LEN(Texto))) - 32))
next

return ls_ClaveDesc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar