Class: Kumogata::Crypt
- Inherits:
-
Object
- Object
- Kumogata::Crypt
- Defined in:
- lib/kumogata/crypt.rb
Constant Summary collapse
- ALGORITHM =
'aes256'
- PASSWORD_CHARS =
'abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ123456789_*;:@{}()[]#$%&=-'
Class Method Summary collapse
Class Method Details
.decrypt(pass, str) ⇒ Object
14 15 16 17 18 19 20 |
# 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) ⇒ Object
6 7 8 9 10 11 12 |
# 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) ⇒ Object
22 23 24 |
# File 'lib/kumogata/crypt.rb', line 22 def mkpasswd(n) PASSWORD_CHARS.split(//).sample(n).join end |