class Kumogata::Crypt

Constants

ALGORITHM
PASSWORD_CHARS

Public Class Methods

decrypt(pass, str) click to toggle source
# File lib/kumogata/crypt.rb, line 14
def decrypt(pass, str)
  IO.popen("openssl enc -d -#{ALGORITHM} -pass pass:#{enquote(pass)}", "r+") {|io|
    io.print Base64.decode64(str)
    io.close_write
    io.read
  }
end
encrypt(pass, str) click to toggle source
# File lib/kumogata/crypt.rb, line 6
def encrypt(pass, str)
  IO.popen("openssl enc -e -#{ALGORITHM} -pass pass:#{enquote(pass)}", "r+") {|io|
    io.print str
    io.close_write
    io.read
  }.encode64
end
mkpasswd(n) click to toggle source
# File lib/kumogata/crypt.rb, line 22
def mkpasswd(n)
  PASSWORD_CHARS.split(//).sample(n).join
end

Private Class Methods

enquote(str) click to toggle source
# File lib/kumogata/crypt.rb, line 28
def enquote(str)
  "'" + str.gsub("'", %!'"'"'!) + "'"
end