Commit c99c27f1 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

inject message digest

parent 24890a47
package com.telephoners.krakyournet.ctf.repositories;
import com.google.inject.name.Named;
import com.telephoners.krakyournet.ctf.beans.Flag;
import com.telephoners.krakyournet.ctf.beans.Solution;
import com.telephoners.krakyournet.ctf.beans.Team;
......@@ -14,7 +15,6 @@ import org.mongodb.morphia.Datastore;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;
import java.util.Optional;
......@@ -27,16 +27,19 @@ public class TasksRepository extends Repository<Task>
private Datastore datastore;
private TeamsRepository teamsRepository;
private SolutionsRepository solutionsRepository;
private MessageDigest messageDigest;
@Inject
public TasksRepository(ApplicationConfiguration applicationConfiguration, Datastore datastore,
TeamsRepository teamsRepository, SolutionsRepository solutionsRepository)
TeamsRepository teamsRepository, SolutionsRepository solutionsRepository,
final @Named("messageDigest") MessageDigest messageDigest)
{
super(datastore);
this.applicationConfiguration = applicationConfiguration;
this.datastore = datastore;
this.teamsRepository = teamsRepository;
this.solutionsRepository = solutionsRepository;
this.messageDigest = messageDigest;
}
public Task getByLevel(int level)
......@@ -82,16 +85,9 @@ public class TasksRepository extends Repository<Task>
}
public String calculateHashValue(String username, String flagValue)
{ //todo
String combinedStrings = applicationConfiguration.getSalt() + username + flagValue; //todo
MessageDigest md5 = null;//todo: discuss
try {
md5 = MessageDigest.getInstance(applicationConfiguration.getFlagHashMethod());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
String encodedHash = Hex.encodeHexString(md5.digest(combinedStrings.getBytes()));
return encodedHash;
{
String combinedStrings = applicationConfiguration.getSalt() + username + flagValue;
return Hex.encodeHexString(messageDigest.digest(combinedStrings.getBytes()));
}
private boolean isAlreadySubmittedSolution(Solution solution)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment