Skip to content
Snippets Groups Projects
Commit 975d0e37 authored by Amalie Nystuen's avatar Amalie Nystuen
Browse files

Lagt inn kode i generaeteSalt og hashPassword i klassen UserDao, og tester til disse i UserDAOTest.

parent fc148ccf
No related branches found
No related tags found
No related merge requests found
Pipeline #115074 passed
......@@ -183,9 +183,18 @@ public class UserDAO {
* @return a random salt
*/
public byte[] generateSalt() {
return null;
byte[] salt = new byte[16];
try{
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
random.nextBytes(salt);
}
catch (NoSuchAlgorithmException e){
e.printStackTrace();
}
return salt;
}
/**
* Method to hash a password with salt
* @param password password to be hashed
......@@ -193,7 +202,13 @@ public class UserDAO {
* @return hashedPassword, null if unsuccessful
*/
public String hashPassword(String password, byte[] salt){
return null;
StringBuilder stringBuilder = new StringBuilder(); for(int i = 0; i < salt.length; i++){
stringBuilder.append(Integer.toString((salt[i] & 0xff) + 0x100, 16).substring(1));
}
String hashedPassword = password + stringBuilder.toString();
return hashedPassword;
}
/**
......
......@@ -194,4 +194,20 @@ public class UserDAOTest extends JerseyTest {
assertEquals(expectedUsername,actualUsername);
assertNotEquals(beforeNewUser,afterNewUser);
}
@Test
public void testGenerateSalt(){
assertNotEquals(userDAO.generateSalt(),userDAO.generateSalt());
}
@Test
public void testHashPassword(){
byte[] a = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
byte[] b = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1};
assertEquals(userDAO.hashPassword("12345", a),userDAO.hashPassword("12345", a));
assertNotEquals(userDAO.hashPassword("123", a),userDAO.hashPassword("12345", a));
assertNotEquals(userDAO.hashPassword("123", a), userDAO.hashPassword("123", b));
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment