Class: Net::LDAP::Password

Inherits:
Object
  • Object
show all
Defined in:
lib/net/ldap/password.rb

Class Method Summary collapse

Class Method Details

.generate(type, str) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/net/ldap/password.rb', line 22

def generate(type, str)
   case type
     when :md5
        attribute_value = '{MD5}' + Base64.encode64(Digest::MD5.digest(str)).chomp! 
     when :sha
        attribute_value = '{SHA}' + Base64.encode64(Digest::SHA1.digest(str)).chomp! 
     when :ssha
        srand; salt = (rand * 1000).to_i.to_s 
        attribute_value = '{SSHA}' + Base64.encode64(Digest::SHA1.digest(str + salt) + salt).chomp!
     else
        raise Net::LDAP::LdapError, "Unsupported password-hash type (#{type})"
     end
  return attribute_value
end