<?php

function token($length = 32) {
	if(!isset($length) || intval($length) <= 8 ){
		$length = 32;
	}	
	if (function_exists('random_bytes')) {
		$token = bin2hex(random_bytes($length));
	}
	if (function_exists('mcrypt_create_iv') && phpversion() < '7.1') {
		$token = bin2hex(mcrypt_create_iv($length, MCRYPT_DEV_URANDOM));
	}
	if (function_exists('openssl_random_pseudo_bytes')) {
		$token = bin2hex(openssl_random_pseudo_bytes($length));
	}
	return substr($token, -$length, $length);
}