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

    +6

    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
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    public function generate_hash($options = null) {
            $string_length  = (isset($options["length"])) ? $options["length"] : 10;
            $use_lowercase  = (isset($options["lowercase"])) ? $options["lowercase"] : true;
            $use_uppercase  = (isset($options["uppercase"])) ? $options["uppercase"] : true;
            $lowercase      = array(
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h",
                "i",
                "j",
                "l",
                "m",
                "n",
                "o",
                "p",
                "q",
                "r",
                "s",
                "t",
                "u",
                "v",
                "w",
                "x",
                "y",
                "z"
            );
            $uppercase      = array(
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H",
                "I",
                "J",
                "L",
                "M",
                "N",
                "O",
                "P",
                "Q",
                "R",
                "S",
                "T",
                "U",
                "V",
                "W",
                "X",
                "Y",
                "Z"
            );
            $digits         = array(
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9
            );
            $arrays         = array_merge($lowercase, $uppercase);
            $final_string   = array();
            $final_string[] = $arrays[array_rand($arrays)];
            // чтобы первым символом не была цифра
            $arrays         = array_merge($arrays, $digits);
            for ($i = 0; $i < ($string_length - 1); $i++) {
                $final_string[] = $arrays[array_rand($arrays)];
            }
            $final_string = implode("", $final_string);
            return $final_string;
    }

    Запостил: dgkj, 18 Мая 2016

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

    • hash)))
      Ответить
    • Зачем мне нужен SHA, у меня нет времени, чтобы ебаться с ним! Лучше я запилю своё говно с коллизиями и хуёвым распределением ещё раз!
      Ответить
      • не так:

        "SHA тут оверхед, это сложно и не поддерживается на любом хостинге. Для моих задач хватит и этого, ведь программисты на пхп исходят из полезности"
        Ответить
    • Так вот откуда Git берёт эти смешные идентификаторы коммитов!
      Ответить
    • В 2016м году алгоритм SHA-2 был взломан, и теперь рекомендуется использовать "generate_hash"
      Ответить
      • Дык generate_hash это не хэш-функция...
        Ответить
        • как?
          написано же "function generate_hash"
          переведи на русский
          Ответить
          • > переведи на русский
            Производить марихуану.

            Так вот, оказывается, о чём думал автор...
            Ответить
            • И я все таки настаиваю что автор имел ввиду хеш

              Интересно теперь посмотреть на шифры (с симм. ключом) от автора
              Ответить
    • Кстати, слона-то я и не заметил - эта функция генерирует (хуёво) буквенно-цифровые айдишники, но никак не хэш.
      Ответить
      • ))а ты типа реально думал что чувак реализовал собственный хеш алго? да еще и криптостойкий, небось?
        Ответить

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