SteamWar/SpigotCore
Archiviert
13
0

Update links and timestamp on multiple link accesses #77

Manuell gemergt
Lixfel hat 2 Commits von updateLinks nach master 2020-12-19 12:25:13 +01:00 zusammengeführt

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;
Veraltet
Review

Die Benennung dieser Sache kommt woher?

Die Benennung dieser Sache kommt woher?
Veraltet
Review

Internet.

Internet.
Veraltet
Review

Wärest du so nett und würdest es bitte 'crypt' nennen? Danke

Wärest du so nett und würdest es bitte 'crypt' nennen? Danke
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;
}
}