Estoy buscando alguna forma de encriptar las contraseñas que los usuarios introducen a través de un formulario. RESPONDE VICTOR DELGADILLO ========================== Una simple es guardar todos los caracteres con valor de menos 127 (ascii) al valor +127 y los arriba de 127 con el valor -127. La resultante es algo ilegible y si no divulgas el algoritmo simple, lo podras guardar. Abajo te esbozo una funcion (la copie de aqui y la probe y funciona bien): Public Function Enredar (Codigo as String) As String Dim txtTemp as String Dim I as Integer ' -- si Codigo esta vacio, salir de la funcion: If Len(Codigo) = 0 Then Exit Function End If ' --- recorrer toda la cuerda, letra por letra y agregarle o quitarle 127 al valor ascii: For I = 1 to Len(Codigo) If Asc(Mid(Codigo,I,1)) > 127 Then txtTemp = txtTemp & chr(Asc(Mid(Codigo,I,1))-127) Else txtTemp = txtTemp & chr(Asc(Mid(Codigo,I,1))+127) End If Next I Enredar = txtTemp End Function Para complicarla un poco puedes agregarle una 'constante' (digamos 10)... Prueba a ver que te gusta! REPONDE CHEA ============ La forma más sencilla de encriptar es usando una cifra (clave) fija XOR el código Ascii de cada letra. La gracia está en que es reversible, es decir, que al volver a aplicar la clave XOR la letra encriptada, nos devuelve la original: Ciframos: 3 XOR 4 =7 Desciframos: 3 XOR 7 = 4 Una función basada en XOR podría ser la siguiente: Function Cript(palabra) as string Dim l As Integer, a As Integer, letra As String, nueva As String, Ascii As Integer l = Len(palabra) For a = 1 To l letra = Mid(palabra, a, 1) Ascii = Asc(letra) Ascii = Ascii Xor 36 letra = Chr(Ascii) nueva = nueva & letra Next a Cript = nueva End Function Usándola tendríamos: Cript ("contraseña")= "GKJPVEWAÕE" Cript("GKJPVEWAÕE")= "contraseña" Naturalmente ést es un sistema de encriptación muy sencillo, que no resiste un ataque mínimamente serio, pero es la base para elaborarlo más, por ejemplo, con el uso de una o varias claves múltiples, una secuencia de números con los que realizar el XOR de manera distinta para cada letra, en una o varias vueltas....