podes crear un GUID
en un modulo de clase pone.....
'------------------------------------------------------------------
'Clase para generar GUID (20/Abr/98)
'
'Código extraido de la Knowledge Base de Microsoft:
'HOWTO: Use CoCreateGUID API to Generate a GUID with VB
'Article ID: Q176790
'------------------------------------------------------------------
Option Explicit
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type
Private Declare Function CoCreateGuid Lib "OLE32.DLL" _
(pGuid As GUID) As Long
Const S_OK = 0 ' return value from CoCreateGuid
Public Function GetGUID() As String
Dim lResult As Long
Dim lguid As GUID
Dim MyguidString As String
Dim MyGuidString1 As String
Dim MyGuidString2 As String
Dim MyGuidString3 As String
Dim DataLen As Integer
Dim StringLen As Integer
Dim i As Integer
On Error GoTo error_olemsg
lResult = CoCreateGuid(lguid)
If lResult = S_OK Then
MyGuidString1 = Hex$(lguid.Data1)
StringLen = Len(MyGuidString1)
DataLen = Len(lguid.Data1)
MyGuidString1 = LeadingZeros(2 * DataLen, StringLen) _
& MyGuidString1 'First 4 bytes (8 hex digits)
MyGuidString2 = Hex$(lguid.Data2)
StringLen = Len(MyGuidString2)
DataLen = Len(lguid.Data2)
MyGuidString2 = LeadingZeros(2 * DataLen, StringLen) _
& Trim$(MyGuidString2) 'Next 2 bytes (4 hex digits)
MyGuidString3 = Hex$(lguid.Data3)
StringLen = Len(MyGuidString3)
DataLen = Len(lguid.Data3)
MyGuidString3 = LeadingZeros(2 * DataLen, StringLen) _
& Trim$(MyGuidString3) 'Next 2 bytes (4 hex digits)
MyguidString = MyGuidString1 & "-" & MyGuidString2 & "-" & _
MyGuidString3 & "-"
For i = 0 To 7
MyguidString = MyguidString & _
Format$(Hex$(lguid.Data4(i)), "00")
Next
'MyGuidString contains last 8 bytes of Guid (16 hex digits)
GetGUID = MyguidString
Else
GetGUID = "00000000-0000-0000-0000000000000000" ' return zeros if
function unsuccessful
End If
Exit Function
error_olemsg:
MsgBox "Error " & Str(Err) & ": " & Error$(Err)
GetGUID = "00000000-0000-0000-0000000000000000"
Exit Function
End Function
Private Function LeadingZeros(ExpectedLen As Integer, ActualLen As Integer) As
String
LeadingZeros = String$(ExpectedLen - ActualLen, "0")
End Function
despues para usar la clase en algun formulario o modulo....
Private Sub cmdGenGUID_Click()
'Creamos una instancia de la clase
Dim tGuid As New cGUID
'Asignamos el número generado, en este ejemplo lo asignamos a un Label
msgbox tGuid.GetGUID
'Destruimos la referencia al objeto
Set tGuid = Nothing
End Sub
Espero te sirva
Saludos
----- Original Message -----
From: Pata del Santo
To: vbusers List Member
Sent: Tuesday, September 11, 2007 5:09 PM
Subject: [vbusers] Encriptar
Podrías obtener el número de un campo autonumérico y luego encriptarlo.
O bien utilizar GetTempFileName y luego encriptarlo.
Pata.
------------------------------------------------------------------------------
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Carlos S.
Villalba
Enviado el: martes, 11 de septiembre de 2007 19:33
Para: vbusers List Member
Asunto: [vbusers] Encriptar
Perdon, no le cambie el asunto al mail.
_______________________________
Sebastián Villalba
Award Support. S.R.L.
[EMAIL PROTECTED]
Tel/Fax: 4541-0503 y lineas rotativas
_______________________________
------------------------------------------------------------------------------
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Carlos S.
Villalba
Enviado el: Martes, 11 de Septiembre de 2007 02:28 p.m.
Para: vbusers List Member
Asunto: [vbusers] BinaryReader
Que tal gente!!
Necesito una pequeña ayuda, necesito generar un numero de 16
digitos, encriptarlo y guardarlo. Previamente debo verificar que ese numero no
exista en la base de datos (esto ultimo no es el problema), la consulta es la
siguiente: ¿que me recomiendan para generar el numero y luego encriptarlo?, yo
actualmente estoy utilizando una funcion "casera", pero el problema es que me
generar casi siempre el mismo numero, y cuando estoy comparando si existe o no,
para generar un solo numero termino llendo como 5 o 6 veces contra la base de
datos. Me encontre con muchas clases que encriptan, pero necesito antes de
encriptar, generar el numero de una manera aleatoria y efectiva. Una manera que
se me ocurre y aun no la he probado es utilizar los numeros de la fecha actual
(por ej: 11092007) y la hora incluyendo los milisegundos, y luego de alguna
manera, mezclar esos numeros y de ahí generar un hash. Como se les ocurre que
pueda mezclar los numeros?, desde ya muchas gracias.
Saludos!
_______________________________
Sebastián Villalba
Award Support. S.R.L.
[EMAIL PROTECTED]
Tel/Fax: 4541-0503 y lineas rotativas
_______________________________