SteamWar/SpigotCore
Archiviert
13
0

Merge pull request 'Update links and timestamp on multiple link accesses' (#77) from updateLinks into master

Reviewed-by: YoyoNow <jwsteam@nidido.de>
Dieser Commit ist enthalten in:
Lixfel 2020-12-19 12:25:12 +01:00
Commit c69abf4470

Datei anzeigen

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