Como cifrar un String?? y que siga siendo String...

Iniciado por Skeletron, 26 Febrero 2009, 19:42 PM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola..
COmo veo que no recibi muchas respuestas aqui:
http://foro.elhacker.net/programacion_general/como_me_conviene_crear_la_base_de_datos_encriptacion-t246488.0.html

Voy a formular otra pregunta, y la voy a hacer mas natural... y sin tanto quilombos...


La pregunta:
Hay alguna manera de cifrar un STRING y que no deje de ser STRING???
Para poder guardarlo en un archivo de texto cifrado...?????

Skeletron

Ya tengo respondida la pregunta..
La tecnica es:

un String, para encriptarlo, hay que pasarlo a BYTE(), pero despues... lo puedes volver con otro metodo a STRING nuevamente... y los valores cifrados no cambian...

‭‭‭‭jackl007

Mira te dejo dos funciones que sirven para encryptar cadenas en VB 6.0; en .net nose, pero teniendo el codigo de vb lo puedes adaptar...
incluso yo lo traduci a JAVA; asi que es mas sencillo traducirlo a .net ....
no recuerdo quien es el autor, lo tengo varios años usando y es muy efectivo   
Código (vb) [Seleccionar]

Function cifra(ByVal Pass As String) As String
Dim clave As String, i As Integer, Pass2 As String
Dim CAR As String, Codigo As String
clave = "%ü&/@#$A"
Pass2 = ""
For i = 1 To Len(Pass)
  CAR = Mid(Pass, i, 1)
  Codigo = Mid(clave, ((i - 1) Mod Len(clave)) + 1, 1)
  Pass2 = Pass2 & Right("0" & Hex(Asc(Codigo) Xor Asc(CAR)), 2)
Next i
cifra = Pass2
End Function

Function descifra(ByVal Pass As String) As String
Dim clave As String, i As Integer, Pass2 As String
Dim CAR As String, Codigo As String
Dim j As Integer

clave = "%ü&/@#$A"
Pass2 = ""
j = 1
For i = 1 To Len(Pass) Step 2
  CAR = Mid(Pass, i, 2)
  Codigo = Mid(clave, ((j - 1) Mod Len(clave)) + 1, 1)
  Pass2 = Pass2 & Chr(Asc(Codigo) Xor Val("&h" + CAR))
  j = j + 1
Next i
descifra = Pass2
End Function




Saludos