本文整理汇总了PHP中Crypto::s_rand方法的典型用法代码示例。如果您正苦于以下问题:PHP Crypto::s_rand方法的具体用法?PHP Crypto::s_rand怎么用?PHP Crypto::s_rand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Crypto
的用法示例。
在下文中一共展示了Crypto::s_rand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateRandomString
/**
* Create random value on give criteria
*
* @param int $length
* @param string $type (mixed, chars, digits)
* @return string
*/
function generateRandomString($length, $type = null)
{
if (!Reg::get('packageMgr')->isPluginLoaded('Crypto', 'Crypto')) {
throw new RuntimeException("Crypto plugin is not loaded!");
}
if ($length === null) {
$length = 12;
}
if ($type === null) {
$type = 'mixed';
}
if ($type != 'mixed' && $type != 'chars' && $type != 'digits') {
return false;
}
$rand_value = '';
while (strlen($rand_value) < $length) {
if ($type == 'digits') {
$char = Crypto::s_rand(0, 9);
} else {
$char = chr(Crypto::s_rand(0, 255));
}
if ($type == 'mixed') {
if (preg_match('/^[a-z0-9]$/i', $char)) {
$rand_value .= $char;
}
} elseif ($type == 'chars') {
if (preg_match('/^[a-z]$/i', $char)) {
$rand_value .= $char;
}
} elseif ($type == 'digits') {
if (preg_match('^[0-9]$', $char)) {
$rand_value .= $char;
}
}
}
return $rand_value;
}