Skip to content

Commit 30e89f0

Browse files
committed
Added the getSalt and enryptPassWithSalt private mothods to the UsersDBHelper class
1 parent 433ab3f commit 30e89f0

File tree

1 file changed

+39
-5
lines changed

1 file changed

+39
-5
lines changed

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

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
import java.security.MessageDigest;
1111
import java.security.NoSuchAlgorithmException;
12+
import java.security.NoSuchProviderException;
13+
import java.security.SecureRandom;
1214
import java.util.ArrayList;
1315
import java.util.HashMap;
1416

@@ -128,19 +130,51 @@ public Boolean emailExists(String email) {
128130
private String encryptPass(String pass){
129131
StringBuffer sb = new StringBuffer();
130132
try{
131-
MessageDigest md = MessageDigest.getInstance("SHA-256");
132-
md.update(pass.getBytes());
133-
byte byteData[] = md.digest();
133+
MessageDigest md = MessageDigest.getInstance("SHA-256");
134+
md.update(pass.getBytes());
135+
byte byteData[] = md.digest();
134136

135137

136-
for(int i = 0; i < byteData.length; i++)
137-
sb.append(Integer.toString((byteData[i] & 0xFF) + 0x100, 16).substring(1));
138+
for(int i = 0; i < byteData.length; i++)
139+
sb.append(Integer.toString((byteData[i] & 0xFF) + 0x100, 16).substring(1));
138140

139141
} catch (NoSuchAlgorithmException e1) {
140142
// TODO Auto-generated catch block
141143
e1.printStackTrace();
142144
}
143145
return sb.toString();
144146
}
147+
148+
private String encryptPassWithSalt(String pass, byte[] salt){
149+
StringBuffer sb = new StringBuffer();
150+
try{
151+
MessageDigest md = MessageDigest.getInstance("SHA-256");
152+
md.update(salt);
153+
md.update(pass.getBytes());
154+
byte byteData[] = md.digest();
155+
156+
for(int i = 0; i < byteData.length; i++)
157+
sb.append(Integer.toString((byteData[i] & 0xFF) + 0x100, 16).substring(1));
158+
159+
} catch (NoSuchAlgorithmException e1) {
160+
// TODO Auto-generated catch block
161+
e1.printStackTrace();
162+
}
163+
return sb.toString();
164+
}
165+
166+
//Add salt
167+
private byte[] getSalt() throws NoSuchAlgorithmException, NoSuchProviderException
168+
{
169+
//Always use a SecureRandom generator
170+
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
171+
//Create array for salt
172+
byte[] salt = new byte[32];
173+
//Get a random salt
174+
sr.nextBytes(salt);
175+
//return salt
176+
return salt;
177+
}
178+
}
145179
}
146180

0 commit comments

Comments
 (0)