PHP keygen

Наскоро установих един интересен факт – в блога ми няма нито един съвет свързан с PHP :) Срамота е, понеже това е езика, на който пиша в 80% от времето си. Днес съм решил да драсна една идейка за генериране на 32-знаков MD5 хеш по зададен string – полезна функция, която можете да използвате за генериране на пароли, salt към автентикационни системи, или за каквото ви върши работа.

Функцията използва timestamp от текущите дата и час, добавя към него произволно число между 1 и 10 000 и използва предадената в $name стойност като ключ, с който извършва MD5 хеширането. Ползата от цялата работа е, че всеки път когато извикате функцията върнатият хеш е различен, дори при предаване на параметър с една и съща стойност. Ето я и цялата далаверка в 13 реда:

function keyGen($name)
{
     $udate=mktime().rand(0,10000);
     if (extension_loaded("mhash"))
     {
          $key=mhash(MHASH_MD5, $udate, $name);
     }
     else
     {
          $key=md5($name.$udate);
     }
     return bin2hex($key);
}

Маркери: ,

За тази статия



Категории

Подобни статии

  • Няма подобни статии