guid functions

This commit is contained in:
Friendika 2011-08-07 16:56:26 -07:00
parent eea493d1f5
commit 1eec10329a
3 changed files with 9 additions and 9 deletions

View File

@ -610,12 +610,12 @@ function check_config(&$a) {
}}
function get_guid() {
$exists = true;
function get_guid($size=16) {
$exists = true; // assume by default that we don't have a unique guid
do {
$s = random_string(16);
$s = random_string($size);
$r = q("select id from guid where guid = '%s' limit 1", dbesc($s));
if(! results($r))
if(! count($r))
$exists = false;
} while($exists);
q("insert into guid ( guid ) values ( '%s' ) ", dbesc($s));

View File

@ -19,11 +19,11 @@ function replace_macros($s,$r) {
}}
// random hash, 64 chars
// random hex string, 64 chars max
if(! function_exists('random_string')) {
function random_string() {
return(hash('sha256',uniqid(rand(),true)));
function random_string($size = 64) {
return(substr(hash('sha256',uniqid(rand(),true)),0,$size));
}}
/**
@ -878,7 +878,7 @@ function return_bytes ($size_str) {
}
}}
function generate_guid() {
function generate_user_guid() {
$found = true;
do {
$guid = substr(random_string(),0,16);

View File

@ -201,7 +201,7 @@ function register_post(&$a) {
$r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked` )
VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
dbesc(generate_guid()),
dbesc(generate_user_guid()),
dbesc($username),
dbesc($new_password_encoded),
dbesc($email),