]> git.openstreetmap.org Git - rails.git/blobdiff - lib/osm.rb
Salt passwords so that two users with the same password will have
[rails.git] / lib / osm.rb
index 5f31e31bf3f83f2b232cd1687c0c7b6657d19bff..f458c5135ee849003d5cf66e349788cf8d4028c9 100644 (file)
@@ -12,6 +12,7 @@ module OSM
   require 'rexml/parsers/sax2parser'
   require 'rexml/text'
   require 'xml/libxml'
+  require 'digest/md5'
   require 'RMagick'
 
   class Mercator
@@ -391,4 +392,22 @@ module OSM
   rescue Exception
     return nil
   end
+
+  # Construct a random token of a given length
+  def self.make_token(length = 30)
+    chars = 'abcdefghijklmnopqrtuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
+    token = ''
+
+    length.times do
+      token += chars[(rand * chars.length).to_i].chr
+    end
+
+    return token
+  end
+
+  # Return an encrypted version of a password
+  def self.encrypt_password(password, salt)
+    return Digest::MD5.hexdigest(password) if salt.nil?
+    return Digest::MD5.hexdigest(salt + password)
+  end
 end