Password Manager
RMI - BASED PASSWORD MANAGER SYSTEM
1.Remote interface – PasswordManager
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface PasswordManager extends Remote {
String addCredential(String website, String username, String password) throws RemoteException;
String getPassword(String website) throws RemoteException;
}
import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
import java.util.HashMap;
import java.util.Map;
public class PasswordManagerImpl extends UnicastRemoteObject implements PasswordManager {
private Map<String, String> credentials;
protected PasswordManagerImpl() throws RemoteException {
super();
credentials = new HashMap<>();
}
public String addCredential(String website, String username, String password) throws RemoteException {
credentials.put(website, "Username: " + username + ", Password: " + password);
return "Credential added for " + website;
}
public String getPassword(String website) throws RemoteException {
if (credentials.containsKey(website)) {
return "Stored for " + website + ": " + credentials.get(website);
} else {
return "No credentials found for " + website;
}
}
}
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
public class PasswordManagerServer {
public static void main(String[] args) {
try {
LocateRegistry.createRegistry(1099);
PasswordManager manager = new PasswordManagerImpl();
Naming.rebind("PasswordManager", manager);
System.out.println("Password Manager Server is running...");
} catch (Exception e) {
System.out.println("Server Exception: " + e.getMessage());
}
}
}
import java.rmi.Naming;
public class PasswordManagerClient {
public static void main(String[] args) {
try {
PasswordManager manager = (PasswordManager) Naming.lookup("rmi://localhost/PasswordManager");
System.out.println(manager.addCredential("github.com", "john_doe", "pass1234"));
System.out.println(manager.addCredential("gmail.com", "john.doe", "emailpass"));
System.out.println(manager.getPassword("github.com"));
System.out.println(manager.getPassword("linkedin.com"));
} catch (Exception e) {
System.out.println("Client Exception: " + e.getMessage());
}
}
}
5. Expected Output
Server
Client
Comments
Post a Comment