Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Skeletron en 26 Febrero 2009, 19:42 pm



Título: Como cifrar un String?? y que siga siendo String...
Publicado por: Skeletron en 26 Febrero 2009, 19:42 pm
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 (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...?????


Título: Re: Como cifrar un String?? y que siga siendo String...
Publicado por: Skeletron en 27 Febrero 2009, 21:40 pm
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...


Título: Re: Como cifrar un String?? y que siga siendo String...
Publicado por: ‭‭‭‭jackl007 en 27 Febrero 2009, 23:52 pm
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
  1. Function cifra(ByVal Pass As String) As String
  2. Dim clave As String, i As Integer, Pass2 As String
  3. Dim CAR As String, Codigo As String
  4. clave = "%ü&/@#$A"
  5. Pass2 = ""
  6. For i = 1 To Len(Pass)
  7.  CAR = Mid(Pass, i, 1)
  8.  Codigo = Mid(clave, ((i - 1) Mod Len(clave)) + 1, 1)
  9.  Pass2 = Pass2 & Right("0" & Hex(Asc(Codigo) Xor Asc(CAR)), 2)
  10. Next i
  11. cifra = Pass2
  12. End Function
  13.  
  14. Function descifra(ByVal Pass As String) As String
  15. Dim clave As String, i As Integer, Pass2 As String
  16. Dim CAR As String, Codigo As String
  17. Dim j As Integer
  18.  
  19. clave = "%ü&/@#$A"
  20. Pass2 = ""
  21. j = 1
  22. For i = 1 To Len(Pass) Step 2
  23.  CAR = Mid(Pass, i, 2)
  24.  Codigo = Mid(clave, ((j - 1) Mod Len(clave)) + 1, 1)
  25.  Pass2 = Pass2 & Chr(Asc(Codigo) Xor Val("&h" + CAR))
  26.  j = j + 1
  27. Next i
  28. descifra = Pass2
  29. End Function
  30.  
  31.  
  32.  

Saludos