summaryrefslogtreecommitdiff
path: root/lib/trocla/util.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/trocla/util.rb')
-rw-r--r--lib/trocla/util.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/trocla/util.rb b/lib/trocla/util.rb
index 2b1c6c6..ff7e3ce 100644
--- a/lib/trocla/util.rb
+++ b/lib/trocla/util.rb
@@ -2,8 +2,12 @@ require 'securerandom'
class Trocla
class Util
class << self
- def random_str(length=12)
- (1..length).collect{|a| chars[SecureRandom.random_number(chars.size)] }.join.to_s
+ def random_str(length=12,shellsafe=:undef)
+ if shellsafe
+ (1..length).collect{|a| safechars[SecureRandom.random_number(safechars.size)] }.join.to_s
+ else
+ (1..length).collect{|a| chars[SecureRandom.random_number(chars.size)] }.join.to_s
+ end
end
def salt(length=8)
@@ -14,12 +18,18 @@ class Trocla
def chars
@chars ||= normal_chars + special_chars
end
+ def safechars
+ @chars ||= normal_chars + shellsafe_chars
+ end
def normal_chars
@normal_chars ||= ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a
end
def special_chars
@special_chars ||= "+*%/()@&=?![]{}-_.,;:".split(//)
end
+ def shellsafe_chars
+ @shellsafe_chars ||= "+%/@=?_.,:".split(//)
+ end
end
end
end