diff --git app/drupal/sites/all/modules/contrib/salt/salt_user.info app/drupal/sites/all/modules/contrib/salt/salt_user.info
new file mode 100644
index 0000000..49487ce
--- /dev/null
+++ app/drupal/sites/all/modules/contrib/salt/salt_user.info
@@ -0,0 +1,5 @@
+; $Id: salt.info,v 1.1.4.1 2008/03/29 21:57:44 karthik Exp $
+name = Salt per user
+description = Stores a password salt per-user
+core = 6.x
+dependencies[] = salt
diff --git app/drupal/sites/all/modules/contrib/salt/salt_user.install app/drupal/sites/all/modules/contrib/salt/salt_user.install
new file mode 100644
index 0000000..c56399d
--- /dev/null
+++ app/drupal/sites/all/modules/contrib/salt/salt_user.install
@@ -0,0 +1,52 @@
+<?php
+
+// $Id$
+
+/**
+ * @file
+ * Installation hooks for the Salt per user module.
+ */
+
+/**
+ * Implementation of hook_schema().
+ */
+function salt_user_schema() {
+  $schema['salt_user'] = array(
+    'description' => 'Password salts for {users}',
+    'fields' => array(
+      // Note: Since password storage can occur at the same time as
+      // user creation, uid cannot be used here.
+      'name' => array(
+        'type' => 'varchar',
+        'length' => 60,
+        'not null' => TRUE,
+        'description' => 'The {users}.name that the salt corresponds to.',
+      ),
+      'salt' => array(
+        'type' => 'varchar',
+        'length' => 255,
+        'not null' => TRUE,
+      ),
+    ),
+    'primary key' => array('name'),
+  );
+
+  return $schema;
+}
+
+/**
+ * Implementation of hook_install().
+ */
+function salt_user_install() {
+  drupal_install_schema('salt_user');
+
+  // Set existing user's salts to empty so logins still work.
+  db_query("INSERT INTO {salt_user} (name, salt) SELECT name, '' FROM {users}");
+}
+
+/**
+ * Implementation of hook_uninstall().
+ */
+function salt_user_uninstall() {
+  drupal_uninstall_schema('salt_user');
+}
\ No newline at end of file
diff --git app/drupal/sites/all/modules/contrib/salt/salt_user.module app/drupal/sites/all/modules/contrib/salt/salt_user.module
new file mode 100644
index 0000000..945bdf9
--- /dev/null
+++ app/drupal/sites/all/modules/contrib/salt/salt_user.module
@@ -0,0 +1,31 @@
+<?php
+
+// $Id$
+
+/**
+ * @file
+ * Extends the Salt module to store a password salt per-user.
+ */
+
+/**
+ * Generate a salt for the user based on name.
+ */
+function salt_user_make_salt($name) {
+  $salt = drupal_get_token($name);
+  return $salt;
+}
+
+/**
+ * Return a user's salt.
+ */
+function salt_user_get_salt($form_state) {
+  $salt = db_result(db_query("SELECT salt FROM {salt_user} WHERE name = %d", $form_state['values']['name']));
+  if ($salt === FALSE) {
+    $salt = salt_user_make_salt($form_state['values']['name']);
+    $record = new stdClass;
+    $record->name = $form_state['values']['name'];
+    $record->salt = $salt;
+    drupal_write_record('salt_user', $record);
+  }
+  return $salt;
+}
