Share via


Creación de GUID mediante páginas de Active Server en IIS

En este artículo se proporciona información sobre cómo crear varias páginas de ejemplo mediante diversas formas de GUID para que las páginas de Active Server Pages (ASP) se usen. 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 de KB original: 320375

Nota:

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

Creación de un GUID simple basado en el tiempo

En este ejemplo se crea un GUID simple basado en el tiempo de 14 caracteres mediante el año, mes, día, hora, minuto y 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 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser la C:\InetPub\Wwwroot 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. A medida que actualiza la página, verá el incremento de GUID.

Creación de un GUID de desplazamiento de tiempo simple

En este ejemplo se crea un GUID basado en el 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 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser la C:\InetPub\Wwwroot 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. A medida que actualiza la página, verá el incremento de GUID.

Nota:

Este ejemplo solo permite la unicidad cuando no se llama a la función dos veces en el mismo segundo. Dos llamadas a la función en el mismo segundo provocan una colisión. Es posible que esto no provoque un problema en función de cómo use la función el código, pero puede usar el ejemplo GUID Crear un desplazamiento de tiempo más único para permitir valores únicos que se produzcan en el mismo segundo.

Creación de un GUID de desplazamiento de tiempo más único

En este ejemplo, como en el ejemplo Crear un GUID de desplazamiento de tiempo simple , se crea un GUID basado en el tiempo, pero tiene 25 caracteres. 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 cinco números aleatorios adicionales al final. Esto permite ordenar los datos en función del GUID, pero permite una unicidad mucho mayor. 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 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser la C:\InetPub\Wwwroot 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 de GUID y los últimos cinco caracteres son aleatorios.

Nota:

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

Creación de un GUID aleatorio simple

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione 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. 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 .

Creación de un GUID aleatorio de longitud variable

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione 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. 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 caracteres, 25 caracteres 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. En el ejemplo Crear un GUID aleatorio de estilo windows se expande esta funcionalidad para crear un GUID con el formato de un GUID de Windows.

Creación de un GUID aleatorio de estilo windows

Windows usa principalmente GUID cuando registra identificadores de clase para componentes y otros objetos, pero los GUID se pueden usar para cualquier cosa. Los GUID de Windows son cadenas largas de caracteres hexadecimales con formato, lo que significa que usan los números 0 a 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 DE GUID aleatorio De longitud variable para crear un GUID como un GUID de Windows.

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser la C:\InetPub\Wwwroot 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 el formato de un GUID de Windows. Al actualizar la página, verá que el valor cambia aleatoriamente.

Creación de un GUID aleatorio de estilo windows más seguro

Dado que los GUID de Windows usan 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, se pueden usar 36 valores por carácter en el GUID. En este ejemplo se usa la función del ejemplo Crear un GUID aleatorio de longitud variable para crear un GUID en el mismo formato que un GUID de Windows.

  1. Seleccione Inicio, seleccione Programas, Accesorios y, a continuación, seleccione 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. Guarde la página:

    1. En el menú Archivo, seleccione Guardar.
    2. Busque la carpeta raíz del sitio web, que suele ser la C:\InetPub\Wwwroot 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 el formato de un GUID de Windows. Al actualizar la página, verá que el valor cambia aleatoriamente.