Spec-Zone.ru › Ruby on Rails 5.2

модуль SecureRandom

Константы

BASE58_ALPHABET

Методы публичного класса

base58(n = 16) Показать исходный код
# File activesupport/lib/active_support/core_ext/securerandom.rb, line 18
def self.base58(n = 16)
  SecureRandom.random_bytes(n).unpack("C*").map do |byte|
    idx = byte % 64
    idx = SecureRandom.random_number(58) if idx >= 58
    BASE58_ALPHABET[idx]
  end.join
end

::base58 генерирует случайную строку в базе 58.

Аргумент n задаёт длину генерируемой случайной строки.

Если n не указан или равен nil, используется значение 16. В будущем оно может быть увеличено.

Результат может содержать буквенно-цифровые символы, кроме 0, O, I и l

p SecureRandom.base58 # => "4kUgL2pdQMSCQtjE"
p SecureRandom.base58(24) # => "77TMHrHJFvFDwodq8w7Ev2m7"

© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API