Skip to content

Commit aceecbe

Browse files
committed
Updated the OnCreate Method and updateUser method with the new schema columns.
1 parent d520f3e commit aceecbe

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

app/src/main/java/com/example/werfish/praticeapp/UsersDBHelper.java

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import java.security.NoSuchProviderException;
1313
import java.security.SecureRandom;
1414
import java.util.ArrayList;
15-
import java.util.HashMap;
1615

1716
/**
1817
* Created by Werfish on 09.04.2017.
@@ -28,6 +27,7 @@ public class UsersDBHelper extends SQLiteOpenHelper {
2827
public static final String USERS_COLUMN_PASSWORD = "Password";
2928
public static final String USERS_COLUMN_AFTER_SALT = "Password_Salt";
3029
public static final String USERS_COLUMN_SALT = "Salt";
30+
public static final String USERS_COLUMN_ENCRYPTED_NOSALT = "Encrypted_NoSalt";
3131
public static final String USERS_COLUMN_ENCRYPTED_PASS = "Encrypted_Pass";
3232

3333

@@ -39,7 +39,7 @@ public UsersDBHelper(Context context) {
3939
public void onCreate(SQLiteDatabase db) {
4040
// TODO Auto-generated method stub
4141
db.execSQL(
42-
"CREATE TABLE IF NOT EXISTS Users (User_ID Integer Primary Key,Name VARCHAR, Email VARCHAR, Phone VARCHAR, Password VARCHAR, Encrypted_Pass VARCHAR);");
42+
"CREATE TABLE IF NOT EXISTS Users (User_ID Integer Primary Key,Name VARCHAR, Email VARCHAR, Phone VARCHAR, Password VARCHAR, Password_Salt VARCHAR, Salt VARCHAR, Encrypted_NoSalt VARCHAR, Encrypted_Pass VARCHAR);");
4343
}
4444

4545
@Override
@@ -56,7 +56,16 @@ public boolean insertUser(String name, String email, String phone, String passwo
5656
contentValues.put("email", email);
5757
contentValues.put("phone", phone);
5858
contentValues.put("password", password);
59-
contentValues.put("encrypted_pass", encryptPass(password));
59+
60+
//Before putting oother values lets create the salt
61+
byte[] salt = getSalt();
62+
63+
contentValues.put("password_salt", salt.toString() + password);
64+
contentValues.put("salt", salt);
65+
//Enrypting with just SHA-256
66+
contentValues.put("encrypted_noSalt", encryptPass(password));
67+
//Adding the salt to the SHA-256
68+
contentValues.put("encrypted_pass", encryptPassWithSalt(password,salt));
6069
db.insert("Users", null, contentValues);
6170
return true;
6271
}
@@ -167,17 +176,19 @@ private String encryptPassWithSalt(String pass, byte[] salt){
167176
}
168177

169178
//Add salt
170-
private byte[] getSalt() throws NoSuchAlgorithmException, NoSuchProviderException
171-
{
172-
//Always use a SecureRandom generator
173-
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
179+
private byte[] getSalt() {
174180
//Create array for salt
175181
byte[] salt = new byte[32];
176-
//Get a random salt
177-
sr.nextBytes(salt);
178-
//return salt
182+
try {
183+
//Always use a SecureRandom generator
184+
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
185+
//Get a random salt
186+
sr.nextBytes(salt);
187+
//return salt
188+
}catch (Exception e1){
189+
e1.printStackTrace();
190+
}
179191
return salt;
180192
}
181193
}
182-
}
183194

0 commit comments

Comments
 (0)