Skip to content
Snippets Groups Projects
Commit 9e06249f authored by Hermann Owren Elton's avatar Hermann Owren Elton
Browse files

made generate salt and hashpassword

parent e7576332
Branches
No related tags found
No related merge requests found
Pipeline #72025 passed
...@@ -2,6 +2,7 @@ package dao; ...@@ -2,6 +2,7 @@ package dao;
import data.User; import data.User;
import java.io.NotActiveException;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom; import java.security.SecureRandom;
...@@ -183,7 +184,12 @@ public class UserDAO { ...@@ -183,7 +184,12 @@ public class UserDAO {
* @return a random salt * @return a random salt
*/ */
public byte[] generateSalt() { public byte[] generateSalt() {
return null; byte salt[];
SecureRandom random = new SecureRandom();
salt = new byte[16];
random.nextBytes(salt);
return salt;
} }
/** /**
...@@ -193,6 +199,25 @@ public class UserDAO { ...@@ -193,6 +199,25 @@ public class UserDAO {
* @return hashedPassword, null if unsuccessful * @return hashedPassword, null if unsuccessful
*/ */
public String hashPassword(String password, byte[] salt){ public String hashPassword(String password, byte[] salt){
try {
MessageDigest md = MessageDigest.getInstance("SHA-512");
md.update(password.getBytes());
byte[] bytes = md.digest();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
sb.append(Integer.toString((bytes[i] & 0xff) + 0x100));
}
String hashedPassword = sb.toString();
StringBuilder hb = new StringBuilder();
for (byte b : salt) {
sb.append(String.format("%02x", b));
}
String salted = hb.toString();
return hashedPassword+"|"+salted;
}catch (NoSuchAlgorithmException e){
e.printStackTrace();
}
return null; return null;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment