SteamWar/SpigotCore
Archiviert
13
0

Update links and timestamp on multiple link accesses

Dieser Commit ist enthalten in:
Lixfel 2020-12-19 09:22:50 +01:00
Ursprung 120e51a3a7
Commit f00ffb32a5

Datei anzeigen

@ -23,8 +23,6 @@ import com.google.common.io.BaseEncoding;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.Instant; import java.time.Instant;
public class DownloadSchematic { public class DownloadSchematic {
@ -33,14 +31,6 @@ public class DownloadSchematic {
private static final String BASE = "https://steamwar.de/download.php?schem="; private static final String BASE = "https://steamwar.de/download.php?schem=";
public static String getLink(Schematic schem){ public static String getLink(Schematic schem){
ResultSet rs = SQL.select("SELECT * FROM SchemDownload WHERE SchemID = ?", schem.getSchemID());
try {
if(rs.next())
return BASE + rs.getString("Link");
} catch (SQLException e) {
throw new SecurityException("Could not check schematic for existance", e);
}
MessageDigest cript; MessageDigest cript;
try { try {
cript = MessageDigest.getInstance("SHA-1"); cript = MessageDigest.getInstance("SHA-1");
@ -50,7 +40,7 @@ public class DownloadSchematic {
cript.reset(); cript.reset();
cript.update((Instant.now().toString() + schem.getSchemOwner() + schem.getSchemID()).getBytes()); cript.update((Instant.now().toString() + schem.getSchemOwner() + schem.getSchemID()).getBytes());
String hash = BaseEncoding.base16().encode(cript.digest()); String hash = BaseEncoding.base16().encode(cript.digest());
SQL.update("INSERT INTO SchemDownload (SchemID, Link) VALUES (?, ?)", schem.getSchemID(), hash); SQL.update("INSERT INTO SchemDownload (SchemID, Link) VALUES (?, ?) ON DUPLICATE KEY UPDATE Link = VALUES(Link)", schem.getSchemID(), hash);
return BASE + hash; return BASE + hash;
} }
} }