diff --git a/apps/syndie/java/src/net/i2p/syndie/User.java b/apps/syndie/java/src/net/i2p/syndie/User.java
index bc848e3fd92e782b65d7c7ad88522a09ef98b776..4f6c65cdf45d4596da4bc73be1cf086cc99a2883 100644
--- a/apps/syndie/java/src/net/i2p/syndie/User.java
+++ b/apps/syndie/java/src/net/i2p/syndie/User.java
@@ -127,6 +127,22 @@ public class User {
         init(); 
     }
     
+    public boolean changePassword(String oldPass, String pass0, String pass1) {
+        String curPass = _hashedPassword;
+        Hash curPassHash = _context.sha().calculateHash(DataHelper.getUTF8(oldPass));
+        Hash newPassHash = _context.sha().calculateHash(DataHelper.getUTF8(pass0));
+        if (curPassHash.toBase64().equals(curPass)) {
+            if ( (pass0 != null) && (pass1 != null) && (pass0.equals(pass1)) ) {
+                _hashedPassword = newPassHash.toBase64();
+                return true;
+            } else {
+                return false;
+            }
+        } else {
+            return false;
+        }
+    }
+
     public String login(String login, String pass, Properties props) {
         _username = login;
         load(props);