Spec-Zone.ru › Ruby on Rails 7.2

модуль SecureRandom

Константы

BASE36_ALPHABET
BASE58_ALPHABET

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

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

SecureRandom.base36 генерирует случайную строку в формате base36 в нижнем регистре.

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

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

Результат будет содержать символы в нижнем регистре.

p SecureRandom.base36 # => "4kugl2pdqmscqtje"
p SecureRandom.base36(24) # => "77tmhrhjfvfdwodq8w7ev2m7"
base58(n = 16) Показать исходный код
# File activesupport/lib/active_support/core_ext/securerandom.rb, line 19
def self.base58(n = 16)
  SecureRandom.alphanumeric(n, chars: BASE58_ALPHABET)
end

SecureRandom.base58 генерирует случайную строку в формате base58.

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

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

Результат может содержать символы, допускаемые в base58, за исключением 0, O, I и l.

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

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

Spec-Zone.ru

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