Cómo: Crear GUID mediante páginas Active Server en IIS

Se recomienda encarecidamente a todos los usuarios que actualicen a la versión 7.0 de Microsoft Internet Information Services (IIS) que se ejecuta en Microsoft Windows Server 2008. IIS 7.0 aumenta considerablemente la seguridad de la infraestructura Web. Para obtener más información acerca de temas relacionados con la seguridad IIS, visite el siguiente sitio Web de Microsoft:Para obtener más información acerca de IIS 7.0, visite el siguiente sitio Web de Microsoft:

Resumen

En este artículo paso a paso se describe cómo crear varias páginas de ejemplo utilizando diversas formas de GUID para las páginas de páginas Active Server (ASP) para utilizar. Estos valores pueden utilizarse para crear entradas de datos únicos en una base de datos, o en cualquier otro lugar donde se requiere un campo de datos único.

Nota: debido a que estos ejemplos no utilizan las variables de sesión, estos ejemplos también funcionan en servidores Web que tienen deshabilitado el estado de sesión.


Crear un GUID Simple basada en tiempos

Este ejemplo crea un GUID basado en el tiempo de 14 caracteres simple utilizando el año, mes, día, hora, minutos y segundos. Esto le permite ordenar datos basándose en el GUID.
  1. Haga clic en Inicio, seleccione programas, haga clic en Accesoriosy, a continuación, haga clic en Bloc de notas para abrir el Bloc de notas.
  2. Escriba o pegue el siguiente código ASP en el Bloc de notas:
    <%@LANGUAGE="VBSCRIPT"%><HTML>
    <BODY>
    <%

    Response.Write "GUID = " & CreateGUID()

    Function CreateGUID()
    Dim tmpTemp
    tmpTemp = Right(String(4,48) & Year(Now()),4)
    tmpTemp = tmpTemp & Right(String(4,48) & Month(Now()),2)
    tmpTemp = tmpTemp & Right(String(4,48) & Day(Now()),2)
    tmpTemp = tmpTemp & Right(String(4,48) & Hour(Now()),2)
    tmpTemp = tmpTemp & Right(String(4,48) & Minute(Now()),2)
    tmpTemp = tmpTemp & Right(String(4,48) & Second(Now()),2)
    CreateGUID = tmpTemp
    End Function
    %>
    </BODY>
    </HTML>

  3. Guardar la página:
    1. En el menú archivo , haga clic en Guardar.
    2. Busque la carpeta raíz de su sitio Web, que normalmente es la carpeta C:\InetPub\Wwwroot para el sitio Web predeterminado.
    3. Nombre del archivo GuidTest0.asp.
    4. Haga clic en Guardar.
    5. En el menú archivo, haga clic en Salir.
  4. Busque la página con Microsoft Internet Explorer. Verá un GUID. Cuando actualiza la página, verá el incremento GUID.

Crear un GUID de desplazamiento de tiempo Simple

Este ejemplo crea un GUID basado en el tiempo de 20 caracteres utilizando el desplazamiento en segundos desde las 12:00 de la noche del 1 de enero de 2000. Esto le permite ordenar datos basándose en el GUID y puede actualizarse para utilizar cualquier otra fecha como base.
  1. Haga clic en Inicio, seleccione programas, haga clic en Accesoriosy, a continuación, haga clic en Bloc de notas para abrir el Bloc de notas.
  2. Escriba o pegue el siguiente código ASP en el Bloc de notas:
    <%@LANGUAGE="VBSCRIPT"%><HTML>
    <BODY>
    <%

    Response.Write "GUID = " & CreateGUID()

    Function CreateGUID()
    Dim tmpTemp1,tmpTemp2
    tmpTemp1 = Right(String(15,48) & CStr(CLng(DateDiff("s","1/1/2000",Date()))), 15)
    tmpTemp2 = Right(String(5,48) & CStr(CLng(DateDiff("s","12:00:00 AM",Time()))), 5)
    CreateGUID = tmpTemp1 & tmpTemp2
    End Function
    %>
    </BODY>
    </HTML>

  3. Guardar la página:
    1. En el menú archivo , haga clic en Guardar.
    2. Busque la carpeta raíz de su sitio Web, que normalmente es la carpeta C:\InetPub\Wwwroot para el sitio Web predeterminado.
    3. Nombre del archivo GuidTest1.asp.
    4. Haga clic en Guardar.
    5. En el menú archivo, haga clic en Salir.
  4. Busque la página con Internet Explorer. Verá un GUID. Cuando actualiza la página, verá el incremento GUID.
Nota: este ejemplo permite exclusividad sólo cuando no se llama a la función dos veces en el mismo segundo. Las dos llamadas a la función en el mismo segundo provocar una colisión. Esto puede no causar un problema dependiendo de cómo el código utiliza la función, pero puede utilizar el ejemplo crear un GUID de desplazamiento más tiempo exclusivo para permitir valores únicos que se producen en el segundo de la mismo.


Crear un GUID único más de desplazamiento de tiempo

En este ejemplo, como en el ejemplo crear un GUID de desplazamiento de tiempo Simple , crea un GUID basado en el tiempo, pero es de 25 caracteres. Este ejemplo crea un valor de 20 caracteres desde la posición de desplazamiento en segundos transcurridos desde la medianoche del 1 de enero de 2000 y anexa un cinco números aleatorios adicionales al final de ese. Esto le permite ordenar datos basándose en el GUID, pero permite mucho mayor exclusividad. Esto puede actualizarse para utilizar cualquier otra fecha como base.
  1. Haga clic en Inicio, seleccione programas, haga clic en Accesoriosy, a continuación, haga clic en Bloc de notas para abrir el Bloc de notas.
  2. Escriba o pegue el siguiente código ASP en el Bloc de notas:
    <%@LANGUAGE="VBSCRIPT"%><HTML>
    <BODY>
    <%

    Response.Write "GUID = " & CreateGUID()

    Function CreateGUID()
    Randomize Timer
    Dim tmpTemp1,tmpTemp2,tmpTemp3
    tmpTemp1 = Right(String(15,48) & CStr(CLng(DateDiff("s","1/1/2000",Date()))), 15)
    tmpTemp2 = Right(String(5,48) & CStr(CLng(DateDiff("s","12:00:00 AM",Time()))), 5)
    tmpTemp3 = Right(String(5,48) & CStr(Int(Rnd(1) * 100000)),5)
    CreateGUID = tmpTemp1 & tmpTemp2 & tmpTemp3
    End Function
    %>
    </BODY>
    </HTML>

  3. Guardar la página:
    1. En el menú archivo , haga clic en Guardar.
    2. Busque la carpeta raíz de su sitio Web, que normalmente es la carpeta C:\InetPub\Wwwroot para el sitio Web predeterminado.
    3. Nombre del archivo GuidTest2.asp.
    4. Haga clic en Guardar.
    5. En el menú archivo, haga clic en Salir.
  4. Busque la página con Internet Explorer. Verá un GUID. Cuando actualiza la página, verá los primeros 20 caracteres del incremento del GUID y los cinco últimos caracteres son aleatorios.
Nota: este ejemplo y el ejemplo crear un GUID de desplazamiento de tiempo Simple que se crean para la serialización basada en tiempos de llamadas a la función CreateGUID . Si no es un requisito de ordenar datos basados en el tiempo, puede utilizar el ejemplo crear un GUID aleatorio Simple para crear un GUID aleatorio.


Crear un GUID aleatorio Simple

  1. Haga clic en Inicio, seleccione programas, haga clic en Accesoriosy, a continuación, haga clic en Bloc de notas para abrir el Bloc de notas.
  2. Escriba o pegue el siguiente código ASP en el Bloc de notas:
    <%@LANGUAGE="VBSCRIPT"%><HTML>
    <BODY>
    <%

    Response.Write "GUID = " & CreateGUID()

    Function CreateGUID()
    Randomize Timer
    Dim tmpCounter,tmpGUID
    Const strValid = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    For tmpCounter = 1 To 20
    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
    Next
    CreateGUID = tmpGUID
    End Function
    %>
    </BODY>
    </HTML>

  3. Guardar la página:
    1. En el menú archivo , haga clic en Guardar.
    2. Busque la carpeta raíz de su sitio Web, que normalmente es la carpeta C:\InetPub\Wwwroot para el sitio Web predeterminado.
    3. Nombre del archivo GuidTest3.asp.
    4. Haga clic en Guardar.
    5. En el menú archivo, haga clic en Salir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio de 20 caracteres. Cuando actualiza la página, verá el valor cambiar aleatoriamente.
Nota: este ejemplo crea un GUID aleatorio de longitud fija. Para crear un GUID de longitud variable, utilice el ejemplo crear un GUID aleatorio de longitud Variable .


Crear un GUID aleatorio de longitud Variable

  1. Haga clic en Inicio, seleccione programas, haga clic en Accesoriosy, a continuación, haga clic en Bloc de notas para abrir el Bloc de notas.
  2. Escriba o pegue el siguiente código ASP en el Bloc de notas:
    <%@LANGUAGE="VBSCRIPT"%><HTML>
    <BODY>
    <%

    Response.Write "<P>GUID = " & CreateGUID(10)
    Response.Write "<P>GUID = " & CreateGUID(25)
    Response.Write "<P>GUID = " & CreateGUID(50)

    Function CreateGUID(tmpLength)
    Randomize Timer
    Dim tmpCounter,tmpGUID
    Const strValid = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    For tmpCounter = 1 To tmpLength
    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
    Next
    CreateGUID = tmpGUID
    End Function
    %>
    </BODY>
    </HTML>

  3. Guardar la página:
    1. En el menú archivo , haga clic en Guardar.
    2. Busque la carpeta raíz de su sitio Web, que normalmente es la carpeta C:\InetPub\Wwwroot para el sitio Web predeterminado.
    3. Nombre del archivo GuidTest4.asp.
    4. Haga clic en Guardar.
    5. En el menú archivo, haga clic en Salir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio de 10 caracteres, carácter de 25 y 50 caracteres. Cuando actualiza la página, verá los valores cambiar aleatoriamente.
Nota: este ejemplo y el ejemplo crear un GUID aleatorio Simple crean cadenas de concatenan caracteres aleatorios. En el ejemplo de crear un GUID aleatorio de estilo Windows amplía esta funcionalidad para crear un GUID con formato como un GUID de Windows de Microsoft.


Crear un GUID aleatorio de estilo Windows

Windows utiliza principalmente los GUID cuando registra identificadores de clase de componentes y otros objetos, pero GUID sirve para nada. GUID de Windows son cadenas largas de caracteres hexadecimales con formato, lo que significa que utilizan los números del 0 al 9 y las letras A f el. (Microsoft Access también tiene un identificador de replicación integrada en el mismo formato.) Este ejemplo muestra cómo utilizar código similar al código de ejemplo crear un GUID aleatorio de longitud Variable para crear un GUID como un GUID de Windows.
  1. Haga clic en Inicio, seleccione programas, haga clic en Accesoriosy, a continuación, haga clic en Bloc de notas para abrir el Bloc de notas.
  2. Escriba o pegue el siguiente código ASP en el Bloc de notas:
    <%@LANGUAGE="VBSCRIPT"%><HTML>
    <BODY>
    <%

    Response.Write "<P>GUID = " & CreateWindowsGUID()

    Function CreateWindowsGUID()
    CreateWindowsGUID = CreateGUID(8) & "-" & _
    CreateGUID(4) & "-" & _
    CreateGUID(4) & "-" & _
    CreateGUID(4) & "-" & _
    CreateGUID(12)
    End Function

    Function CreateGUID(tmpLength)
    Randomize Timer
    Dim tmpCounter,tmpGUID
    Const strValid = "0123456789ABCDEF"
    For tmpCounter = 1 To tmpLength
    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
    Next
    CreateGUID = tmpGUID
    End Function
    %>
    </BODY>
    </HTML>

  3. Guardar la página:
    1. En el menú archivo , haga clic en Guardar.
    2. Busque la carpeta raíz de su sitio Web, que normalmente es la carpeta C:\InetPub\Wwwroot para el sitio Web predeterminado.
    3. Nombre del archivo GuidTest5.asp.
    4. Haga clic en Guardar.
    5. En el menú archivo, haga clic en Salir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio que se da formato como un GUID de Windows. Cuando actualiza la página, verá el valor cambiar aleatoriamente.

Crear un GUID aleatorio más fuerte de estilo Windows

Porque el GUID de Windows utilizan números hexadecimales para cada carácter, 16 valores son posibles por carácter en el GUID. Si expande los valores para incluir todo el alfabeto, 36 valores son posibles por carácter en el GUID. Este ejemplo utiliza la función del ejemplo crear un GUID aleatorio de longitud Variable para crear un GUID en el mismo formato como un GUID de Windows.
  1. Haga clic en Inicio, seleccione programas, haga clic en Accesoriosy, a continuación, haga clic en Bloc de notas para abrir el Bloc de notas.
  2. Escriba o pegue el siguiente código ASP en el Bloc de notas:
    <%@LANGUAGE="VBSCRIPT"%><HTML>
    <BODY>
    <%

    Response.Write "<P>GUID = " & CreateWindowsGUID()

    Function CreateWindowsGUID()
    CreateWindowsGUID = CreateGUID(8) & "-" & _
    CreateGUID(4) & "-" & _
    CreateGUID(4) & "-" & _
    CreateGUID(4) & "-" & _
    CreateGUID(12)
    End Function

    Function CreateGUID(tmpLength)
    Randomize Timer
    Dim tmpCounter,tmpGUID
    Const strValid = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    For tmpCounter = 1 To tmpLength
    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
    Next
    CreateGUID = tmpGUID
    End Function
    %>
    </BODY>
    </HTML>

  3. Guardar la página:
    1. En el menú archivo , haga clic en Guardar.
    2. Busque la carpeta raíz de su sitio Web, que normalmente es la carpeta C:\InetPub\Wwwroot para el sitio Web predeterminado.
    3. Nombre del archivo GuidTest6.asp.
    4. Haga clic en Guardar.
    5. En el menú archivo, haga clic en Salir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio que se da formato como un GUID de Windows. Cuando actualiza la página, verá el valor cambiar aleatoriamente.

Referencias

Para obtener información adicional acerca de la programación de temas relacionados con la GUID de Windows, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:

183544 Cómo: llamar a CLSID y ProgID relacionados con las API de COM en Visual Basic
176790 HOWTO: utilizar CoCreateGUID API para generar un GUID con VB
Propiedades

Id. de artículo: 320375 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios