"PHP" / Говнокод #20038 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 dgkj, (Updated )

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

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

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

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

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

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8