Sha256: f1852091932d1145582ce5d9a4c144c219cf9ba3ec0f0ccf8b65d16d419bc8f7
Contents?: true
Size: 393 Bytes
Versions: 1
Compression:
Stored size: 393 Bytes
Contents
require "securerandom" module Stringent TABLE = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.freeze def self.generate(entropy: 256, table: TABLE) number = SecureRandom.random_number(2 ** entropy) length = (entropy / Math.log2(table.size)).ceil Array.new(length) { number, modulo = number.divmod(table.size) table[modulo] }.join end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
stringent-0.0.1 | lib/stringent.rb |