1. PHP / Говнокод #9278

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    function hash($password='', $unique_id=0)
        {
            $unique_id = $this-> unique_id();// by Lebnik: rand(0, time());
            $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
            $random_state = $unique_id;
            $random = '';
            $count = 6;
    
            //
            if (($fh = @fopen('/dev/urandom', 'rb')))
            {
                $random = fread($fh, $count);
                fclose($fh);
            }
    
            if (strlen($random) < $count)
            {
                $random = '';
    
                for ($i = 0; $i < $count; $i += 16)
                {
                    $random_state = md5($unique_id . $random_state);
                    $random .= pack('H*', md5($random_state));
                }
                $random = substr($random, 0, $count);
            }
    
            $hash = $this-> hash_crypt_private($password, $this-> hash_gensalt_private($random, $itoa64), $itoa64);
    
            if (strlen($hash) == 34)
            {
                return $hash;
            }
    
            return md5($password);
        }

    АД

    Запостил: Tsukasa-mixer, 31 Января 2012

    Комментарии (16) RSS

    Добавить комментарий