You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.7 KiB
77 lines
1.7 KiB
package ugsbo.com.notenSpeicher;
|
|
|
|
import java.security.MessageDigest;
|
|
|
|
public class Noten {
|
|
|
|
|
|
String Fach;
|
|
int Note;
|
|
double durchschnitt;
|
|
Noten vorher;
|
|
|
|
String ownHash;
|
|
String previousHash;
|
|
|
|
public Noten(String eingabeFach, int eingabeNote) {
|
|
Fach = eingabeFach;
|
|
Note = eingabeNote;
|
|
durchschnitt = eingabeNote;
|
|
|
|
vorher = null;
|
|
previousHash = null;
|
|
|
|
ownHash = createNewHash(eingabeFach);
|
|
}
|
|
|
|
public Noten(String eingabeFach, int eingabeNote, String previousHash, double durchschnitt, Noten vorher) {
|
|
Fach = eingabeFach;
|
|
Note = eingabeNote;
|
|
ownHash = createNewHash(eingabeFach+previousHash);
|
|
|
|
this.durchschnitt = (durchschnitt+eingabeNote)/2;
|
|
|
|
this.vorher = vorher;
|
|
this.previousHash = previousHash;
|
|
}
|
|
|
|
private String createNewHash(String input) {
|
|
try {
|
|
MessageDigest digest = MessageDigest.getInstance("SHA-256");
|
|
//Applies sha256 to our input,
|
|
byte[] hash = digest.digest(input.getBytes("UTF-8"));
|
|
StringBuffer hexString = new StringBuffer(); // This will contain hash as hexidecimal
|
|
for (int i = 0; i < hash.length; i++) {
|
|
String hex = Integer.toHexString(0xff & hash[i]);
|
|
if(hex.length() == 1) hexString.append('0');
|
|
hexString.append(hex);
|
|
}
|
|
return hexString.toString();
|
|
}
|
|
catch(Exception e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
|
|
|
|
public String getFach() {
|
|
return Fach;
|
|
}
|
|
|
|
public int getNote() {
|
|
return Note;
|
|
}
|
|
|
|
public double getDurchschnitt() {
|
|
return durchschnitt;
|
|
}
|
|
|
|
public Noten getVorher() {
|
|
return vorher;
|
|
}
|
|
|
|
public String getOwnHash() {
|
|
return ownHash;
|
|
}
|
|
|
|
}
|