Are you looking for an encryption key?
Do not use uniqid()in any context where security is involved. It is too predictable for use in such a context.
The PEAR :: Crypt_RSA package allows you to create cryptographically strong keys in PHP. After installing PEAR in the local installation, you can use it to generate the key as follows:
require_once 'Crypt/RSA.php';
$key_pair = new Crypt_RSA_KeyPair(96);
$public_key = $key_pair->getPublicKey();
$private_key = $key_pair->getPrivateKey();
UUID . , - UUID :
<?php
class UUID {
const NS_DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';
const NS_URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';
const NS_ISO_OID = '6ba7b812-9dad-11d1-80b4-00c04fd430c8';
const NS_X500_DN = '6ba7b814-9dad-11d1-80b4-00c04fd430c8';
public static function v3($namespace, $name) {
if(!self::is_valid($namespace)) return false;
$nhex = str_replace(array('-','{','}'), '', $namespace);
$nstr = '';
for($i = 0; $i < strlen($nhex); $i+=2) {
$nstr .= chr(hexdec($nhex[$i].$nhex[$i+1]));
}
$hash = md5($nstr . $name);
return sprintf('%08s-%04s-%04x-%04x-%12s',
substr($hash, 0, 8),
substr($hash, 8, 4),
(hexdec(substr($hash, 12, 4)) & 0x0fff) | 0x3000,
(hexdec(substr($hash, 16, 4)) & 0x3fff) | 0x8000,
substr($hash, 20, 12)
);
}
public static function v4() {
return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
mt_rand(0, 0xffff),
mt_rand(0, 0x0fff) | 0x4000,
mt_rand(0, 0x3fff) | 0x8000,
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
);
}
public static function v5($namespace, $name) {
if(!self::is_valid($namespace)) return false;
$nhex = str_replace(array('-','{','}'), '', $namespace);
$nstr = '';
for($i = 0; $i < strlen($nhex); $i+=2) {
$nstr .= chr(hexdec($nhex[$i].$nhex[$i+1]));
}
$hash = sha1($nstr . $name);
return sprintf('%08s-%04s-%04x-%04x-%12s',
substr($hash, 0, 8),
substr($hash, 8, 4),
(hexdec(substr($hash, 12, 4)) & 0x0fff) | 0x5000,
(hexdec(substr($hash, 16, 4)) & 0x3fff) | 0x8000,
substr($hash, 20, 12)
);
}
public static function is_valid($uuid) {
return preg_match('/^\{?[0-9a-f]{8}\-?[0-9a-f]{4}\-?[0-9a-f]{4}\-?'.
'[0-9a-f]{4}\-?[0-9a-f]{12}\}?$/i', $uuid) === 1;
}
}
uniqid() , . .