PHP Manual
Prev |  | Next

# uniqid

(PHP 3, PHP 4, PHP 5)

uniqid -- Generate a unique ID

## Description

string uniqid ( [string prefix [, bool more_entropy]] )

Gets a prefixed unique identifier based on the current time in microseconds.

## Parameters

`prefix`

  Can be useful, for instance, if you generate identifiers simultaneously on several hosts that might happen to generate the identifier at the same microsecond.

  With an empty `prefix`, the returned string will be 13 characters long. If `more_entropy` is `TRUE`, it will be 23 characters.

`more_entropy`

  If set to `TRUE`, uniqid() will add additional entropy (using the combined linear congruential generator) at the end of the return value, which should make the results more unique.

## Return Values

Returns the unique identifier, as a string.

## Examples

If you need a unique identifier or token and you intend to give out that token to the user via the network (i.e. session cookies), it is recommended that you use something along these lines:

This will create a 32 character identifier (a 128 bit hex number) that is extremely difficult to predict.

Example 1. uniqid() Example

`<?php // no prefix // works only in PHP 5 and later versions $token = md5(uniqid()); // better, difficult to guess $better_token = md5(uniqid(rand(), true)); ?>`

## ChangeLog

Version | Description
--- | ---
5.0.0 | The `prefix` parameter was made optional.
4.3.1 | The limit of 114 characters long for `prefix` was raised.

Prev | Home | Next
time_sleep_until | Up | unpack