Crear GUID mediante el uso de páginas Active Server en IIS

En este artículo se proporciona información sobre cómo crear varias páginas de ejemplo mediante varios formularios de GUID para páginas Active Server (ASP) que se usarán. Estos valores se pueden usar para crear entradas de datos únicas en una base de datos o en cualquier otro lugar donde se requiera un campo de datos único.

Versión del producto original:   Internet Information Services
Número KB original:   320375

Nota

Dado que estos ejemplos no usan variables de sesión, estos ejemplos también funcionan en servidores web que tienen deshabilitado el estado de sesión.

Crear un GUID basado en tiempo simple

En este ejemplo se crea un GUID simple basado en tiempo de 14 caracteres mediante el año, el mes, el día, la hora, el minuto y los segundos actuales. Esto permite ordenar los datos en función del GUID.

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione Bloc de notas para abrir Bloc de notas.

  2. Escriba o pegue el siguiente código ASP en 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser C:\InetPub\Wwwroot la carpeta del sitio web predeterminado.
    3. Asigne al archivo el nombre GuidTest0.asp.
    4. Seleccione Guardar.
    5. En el menú Archivo, seleccione Abrir.
  4. Busque la página con Internet Explorer. Verá un GUID. Al actualizar la página, verá el incremento guid.

Crear un GUID de desplazamiento de tiempo simple

En este ejemplo se crea un GUID basado en tiempo de 20 caracteres mediante el desplazamiento en segundos desde las 12:00 de la medianoche del 1 de enero de 2000. Esto permite ordenar los datos en función del GUID y se puede actualizar para usar cualquier otra fecha como base.

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione Bloc de notas para abrir Bloc de notas.

  2. Escriba o pegue el siguiente código ASP en 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser C:\InetPub\Wwwroot la carpeta del sitio web predeterminado.
    3. Asigne al archivo el nombre GuidTest1.asp.
    4. Seleccione Guardar.
    5. En el menú Archivo, seleccione Abrir.
  4. Busque la página con Internet Explorer. Verá un GUID. Al actualizar la página, verá el incremento guid.

Nota

Este ejemplo solo permite la unidad 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 causan una colisión. Esto puede no causar un problema en función de cómo usa el código la función, pero puede usar el ejemplo de GUID Crear un GUID de desplazamiento de tiempo más único para permitir valores únicos que se produzcan en el mismo segundo.

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

En este ejemplo, como el ejemplo de GUID Crear un GUID de desplazamiento de tiempo simple, se crea un GUID basado en tiempo, pero tiene 25 caracteres de longitud. En este ejemplo se crea un valor de 20 caracteres a partir del desplazamiento en segundos a partir de las 12:00 de la medianoche del 1 de enero de 2000 y se anexan otros cinco números aleatorios al final. Esto permite ordenar los datos en función del GUID, pero permite una mayor singularidad. Esto se puede actualizar para usar cualquier otra fecha como base.

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione Bloc de notas para abrir Bloc de notas.

  2. Escriba o pegue el siguiente código ASP en 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser C:\InetPub\Wwwroot la carpeta del sitio web predeterminado.
    3. Asigne al archivo el nombre GuidTest2.asp.
    4. Seleccione Guardar.
    5. En el menú Archivo, seleccione Abrir.
  4. Busque la página con Internet Explorer. Verá un GUID. Al actualizar la página, verá los primeros 20 caracteres del incremento GUID y los últimos cinco caracteres son aleatorios.

Nota

Este ejemplo y el ejemplo de GUID Crear un guid de desplazamiento de tiempo simple se crean para la serialización basada en tiempo de las llamadas a la CreateGUID función. Si ordenar datos según el tiempo no es un requisito, puede usar el ejemplo Crear un GUID aleatorio simple para crear un GUID aleatorio.

Crear un GUID aleatorio simple

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione Bloc de notas para abrir Bloc de notas.

  2. Escriba o pegue el siguiente código ASP en 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser la carpeta C:\InetPub\Wwwroot del sitio web predeterminado.
    3. Asigne al archivo el nombre GuidTest3.asp.
    4. Seleccione Guardar.
    5. En el menú Archivo, seleccione Abrir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio de 20 caracteres. Al actualizar la página, verá que el valor cambia aleatoriamente.

Nota

En este ejemplo se crea un GUID aleatorio de longitud fija. Para crear un GUID de longitud variable, use el ejemplo Crear un GUID aleatorio de longitud variable.

Crear un GUID aleatorio de longitud variable

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione Bloc de notas para abrir Bloc de notas.

  2. Escriba o pegue el siguiente código ASP en 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser la carpeta C:\InetPub\Wwwroot del sitio web predeterminado.
    3. Asigne al archivo el nombre GuidTest4.asp.
    4. Seleccione Guardar.
    5. En el menú Archivo, seleccione Abrir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio de 10, 25 y 50 caracteres. Al actualizar la página, verá que los valores cambian aleatoriamente.

Nota

Este ejemplo y el ejemplo crear un GUID aleatorio simple crean cadenas de caracteres aleatorios concatenados. El ejemplo crear un GUID aleatorio de estilo de windows se expande en esta funcionalidad para crear un GUID con formato como un GUID Windows.

Crear un GUID aleatorio de estilo de Windows

Windows usa principalmente GUID cuando registra los ID de clase para componentes y otros objetos, pero los GUID se pueden usar para cualquier cosa. Windows GUID son cadenas largas de caracteres hexadecimales con formato, lo que significa que usan los números del 0 al 9 y las letras A a F. (Microsoft Access también tiene un identificador de replicación integrado en el mismo formato). En este ejemplo se muestra cómo usar código similar al código de ejemplo Crear un GUID aleatorio de longitud variable para crear un GUID como un GUID Windows.

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione Bloc de notas para abrir Bloc de notas.

  2. Escriba o pegue el siguiente código ASP en 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser C:\InetPub\Wwwroot la carpeta del sitio web predeterminado.
    3. Asigne al archivo el nombre GuidTest5.asp.
    4. Seleccione Guardar.
    5. En el menú Archivo, seleccione Abrir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio con formato como un GUID Windows. Al actualizar la página, verá que el valor cambia aleatoriamente.

Crear un GUID aleatorio de estilo windows más fuerte

Dado que Windows GUID usan números hexadecimales para cada carácter, se pueden obtener 16 valores 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. En este ejemplo se usa la función del ejemplo Create a variable-length random GUID para crear un GUID con el mismo formato que un GUID Windows guid.

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione Bloc de notas para abrir Bloc de notas.

  2. Escriba o pegue el siguiente código ASP en 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser C:\InetPub\Wwwroot la carpeta del sitio web predeterminado.
    3. Asigne al archivo el nombre GuidTest6.asp.
    4. Seleccione Guardar.
    5. En el menú Archivo, seleccione Abrir.
  4. Busque la página con Internet Explorer. Verá un GUID aleatorio con formato como un GUID Windows. Al actualizar la página, verá que el valor cambia aleatoriamente.