When a user registers, how could I use MD5 to encrypt the database? I read the docs on encrypting the user list array, but how would I encrypt an actual database? I'm using the H2 database. Here is my register extension:
Code: Select all
function handleRequest(cmd, params, user, fromRoom) {
if (cmd == "register") {
var userName = params.uName;
var passWord = params.pass;
var email = params.email;
var response = {};
response._cmd = "register";
var error = "";
var success = false;
var sql = "SELECT COUNT (NAME) FROM USERS WHERE NAME='"+_server.escapeQuotes(userName)+"'";
var sql2 = "SELECT COUNT (NAME) FROM QUESTS WHERE NAME='"+_server.escapeQuotes(userName)+"'";
var queryRes = dbase.executeQuery(sql);
var queryRes2 = dbase.executeQuery(sql2);
if (queryRes != null) {
if (queryRes2 != null) {
var Row = queryRes.get(0);
var count = Row.getItem("COUNT(NAME)");
if (count == 0) {
sql = "INSERT INTO USERS (NAME, PASS, EMAIL, COINS) VALUES ('"+userName+"', '"+passWord+"', '"+email+"', '"+1000+"')";
sql2 = "INSERT INTO QUESTS (NAME,QUEST) VALUES ('"+userName+"', '"+1+"')";
queryRes = dbase.executeCommand(sql);
queryRes2 = dbase.executeCommand(sql2);
success = true;
} else {
trace("USERNAME ALREADY REGISTERED!");
error = "That username is already registered.";
}
} else {
error = "Cannot connect to the database";
}
}
response.error = error;
response.success = success;
_server.sendResponse(response, -1, null, [user]);
}
I have no idea how to insert the password to the database encrypted. Any help is appreciated. Thanks.