|
1101
|
Programación / .NET (C#, VB.NET, ASP) / Re: Problema al escribir una "key" de encriptacion en un archivo
|
en: 28 Febrero 2009, 23:25 pm
|
Perfecto gente.. Encontre la manera... Dim UNICODE As New UnicodeEncoding() Dim DATOS As New DESCryptoServiceProvider 'aca va a estar la KEY y el IV aleatorios Dim xxx As String = UNICODE .GetString(DATOS.Key) 'guardo en el String XXX la key en UNICODE
'ahora la grabo en mi .txt en UNICODE Dim sw As New IO.StreamWriter("c:\prueba.txt", True, System.Text.Encoding.Unicode) sw.WriteLine(xxx) sw.Close()
'ahora la leo en unicode... Dim sr As New IO.StreamReader("c:\prueba.txt") Dim keyleida As String keyleida = sr.ReadLine() MsgBox(keyleida) sr.Close() Y en el MSGBOX ese, va a aparecer la KEY en Unicode a la perfeccion!!!.. COn un IF pueden comprar si son iguales XXX y keyleida... y verán que son iguales!!
|
|
|
1104
|
Programación / .NET (C#, VB.NET, ASP) / Re: Problema al escribir una "key" de encriptacion en un archivo
|
en: 27 Febrero 2009, 21:38 pm
|
Pego aquí la misma pregunta que hice en otro foro... grabar en un archivo, una KEY de DESCryptoServiceProvider, (la que se crea automatica para cifrar) no esta permitido.. o sea... te escribe: "????" y da error.. porque en realidad esa no es la KEY... Saben como hago para poder grabar en un archivo, la key??? cual es el metodo??? si transformo una key que esta en un Byte() a un String y lo muestro con un msgbox.. me muestra bien la key... es como letras chinas... pero si a ese String, lo grabo en un .txt y luego lo leo desde el archivo y lo muestro.. el valor es: ???? y no es la key....
Necesito grabar y recuperar la key original..
|
|
|
1105
|
Programación / .NET (C#, VB.NET, ASP) / Re: Problema al escribir una "key" de encriptacion en un archivo
|
en: 27 Febrero 2009, 21:26 pm
|
Miren lo que hice: Dim uni As New UnicodeEncoding() Dim KEYDE1 As Integer = 0 Dim DATOS As New DESCryptoServiceProvider Dim FIN As Boolean = False Dim i As Integer = 0 While FIN = False i = (i + 1) FIN = True Try KEYDE1 &= 1 DATOS.Key = uni.GetBytes(KEYDE1) Catch ex As ArgumentException FIN = False End Try If i = 501 Then MsgBox("501 y no encontre nada...") FIN = True End If End While MsgBox("Opcion: " & i & "Valor: " & KEYDE1) Todo eso, en resumen, va probando que "numero" es compatible con la KEY que puede tener dentro... lo que ahgo, es probar con un FOR y darle 501 posibilidades... primero prueba con: 1 despues con : 11 despues con: 111 (por ahora todoss errores) despues con: 1111 Y AHÍ ANDA!!!.. Por lo tanto, la key puede ser: 1111 Yo puedo establecer que mi key sea por ejemplo: 9654 y no va a haber problemas con esribir esa key en el archivo... Peroooooooooooooooo obviamente que no va a tener la misma seguridad que escribir ese codigo extraño... Si no encuentran solucion de como lograr escribir en un archivo esa KEY... tendré que utilizar este metodo... Pero por favor.. alguien sabe como grabar en un archivo, una key generada por un DESCryptoServiceProvider ????????????
|
|
|
1106
|
Programación / .NET (C#, VB.NET, ASP) / Problema al escribir una "key" de encriptacion en un archivo
|
en: 27 Febrero 2009, 20:39 pm
|
Miren este codigo: (vb.net) Dim DATOS As New DESCryptoServiceProvider 'CREO EL OBJETO QUE ME PROPORCIONA UNA KEY Y UNA IV Dim KEYSTRING As String Dim Key As Byte() = DATOS.Key 'GUARDO EN UNA VARIABLE, LA KEY GENERADA AL AZAR KEYSTRING = uni.GetString(Key)'TRANSFORMO ESA KEY A STRING MsgBox(KEYSTRING) 'MUESTRO LA KEY, Y SON COMO SIMBOLOS CHINOS :P (TODO BIEN) 'AHORA GRABO LA KEY EN UN ARCHIVO Dim FF% = FreeFile() FileOpen(FF, "C:\prueba.kkk", OpenMode.Append) PrintLine(FF, KEYSTRING) FileClose(FF) 'AHORA LEO LA KEY DEL MISMO ARCHIVO Dim FFa% = FreeFile() FileOpen(FF, "C:\prueba.kkk", OpenMode.Input) Dim keyleida$ = "" Do While Not EOF(FF) keyleida = LineInput(FF) Loop FileClose(FFa) MsgBox(keyleida) 'AHORA MUESTRO LA KEY LEIDA Y LO QUE LEYÓ ES: "????" ' AHORA CHEQUEO SI SON IGUALES... If KEYSTRING <> keyleida Then MsgBox("Son Distintas") Else MsgBox("Son iguales") End If Obviamente que da error.. dice que son distintas... Entro al archivo, y lo que grabó es: ???? en vez de grabar esas key rara.. Es como que al momento de grabar... esta grabando mal..... Alguien me sugiere algo???? Algun otro metodo para grabar?
|
|
|
1107
|
Programación / .NET (C#, VB.NET, ASP) / Re: Problema de seguridad grave en mi aplicacion
|
en: 27 Febrero 2009, 20:12 pm
|
Si, con el Triple-Des compilaré los "PERFILES"
pero el tema.. es COMPILAR la contraseña madre.. me entedes???
Tendria que utilizar la misma key y la misma IV para descifrar la CONTRASEÑA MADRE.. Para de esa manera tambien tener la posibilidad de llevar tu archivo de contraseñas a cualqueir PC y poder leerlo con cualquier .exe...
Bueno.. con esto ya comiendo a hacer el proyecto..
Cuando lo tenga listo les paso la web de descarga..
Que nic.ar ya me tiene 6 dias en espera.. y aun no habilitan la web....
|
|
|
1109
|
Programación / .NET (C#, VB.NET, ASP) / Problema de seguridad grave en mi aplicacion
|
en: 27 Febrero 2009, 18:55 pm
|
Hola gente.. Estoy programando en vb.net
Y mi aplicacion tiene un grave problema... y pensé miles de cosas.. pero no se que elegir..
El tema es el siguiente:
Mi aplicacion, basicamente, lo que hace es guardar contraseñas... Por ejemplo: Ejecutas el programa.. pide una contraseña MADRE.. que es la del programa, y se inicia...
Luego podes agregar contraseñas.. por ejemplo: hago click en "Agregar Perfil" y pongo de nombre de usuario: Skeletron, de contraseña: xxxxx y "web": elhacker.net Esos 3 datos, se me tienen que guardar en un archivo...
El programa tiene una opcion para ver todas las contraseñas que he guardado.. Pero el problema.. es que si copio el archivo de contraseñas (database) de MI aplicacion, donde tiene todas mis contraseñas... y se la sobreescribo a otra persona que tiene la misma aplicacion... cuando haga click en VER CONTRASEÑAS.. verá las mias....
Y eso no debe ser así!!!! es GRAVISIMO!!.. U.U
Entonces pensé: * cifrar los datos, y que la contraseña maestra del programa, sea la KEY de encriptacion... y que el IV de encriptacion sea aleatorio... Pero el problema es que no siempre la contraseña maestra va a ser de la longitud exacta que requiere para ser KEY de encriptacion... y si cambia la contraseña.. se pierde la key tambien... a no ser que desencripte todo, y vuelva a cifrar todo con la nueva KEY
tambien pensé: * Compilo con el propio .exe un archivo donde tenga el KEY y el IV aleatorio para cada aplicacion... pero que sea el mismo KEY e IV para todos los "perfiles" que agregue al programa.. O sea: PEPE en su .exe tiene 1 KEY y 1 IV para cifrar todos sus perfiles... JUAN TAMBIEN... pero las 2 KEY y las 2 IV son diferentes... Entonces para ésto necesito que al iniciar el programa, se genere una KEY y IV y se guarde.. y que nunca mas cambien... porque si cambian.. (para podes descifrar)...
En fin... Algunos me dijeron: "Guarda en un archivo la key y el IV..." Pero si viene una persona, y me copia ese archivo y la DATABASE... lo coloca en su aplicacion... y me los lee.....
Conclusión: Necesito lograr esconder un KEY y un IV FIJO para cada aplicacion.. Pero diferente en cada una de ellas... Alguien me da unas ideas????
|
|
|
|
|
|
|