php生成32位唯一不重複的商戶密鑰(sign碼)

/**
 * 生成永遠唯一的密鑰碼
 * sha512(返回128位) sha384(返回96位) sha256(返回64位) md5(返回32位)
 * 還有很多Hash函數......
 * @author xiaochaun
 * @param int $type 返回格式:0大小寫混合  1全大寫  2全小寫
 * @param string $func 啓用算法:                
 * @return string
 */
function createSecret($type=0, $func='md5')
{
    $uid = md5(uniqid(rand(),true).microtime());
    $hash = hash($func, $uid);
    $arr = str_split($hash);
    foreach($arr as $v){
        if($type==0){
            $newArr[]= empty(rand(0,1)) ? strtoupper($v) : $v;
        }
        if($type==1){
            $newArr[]= strtoupper($v);
        }
        if($type==2){
            $newArr[]= $v;
        }
    }
    return implode('', $newArr);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章