X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FProfile.java;h=5a4fde041052c8c4f0a7228196eb5fba9b3698fa;hb=629ddb006542df2b671e172d8f544815bbab639b;hp=4b4e0f405cdde567b2f859c11d0b74034531cbeb;hpb=cce88f819ae0ef84b5a86c6a826f88ce0208107f;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/data/Profile.java b/src/main/java/net/pterodactylus/sone/data/Profile.java index 4b4e0f4..5a4fde0 100644 --- a/src/main/java/net/pterodactylus/sone/data/Profile.java +++ b/src/main/java/net/pterodactylus/sone/data/Profile.java @@ -1,5 +1,5 @@ /* - * Sone - Profile.java - Copyright © 2010–2012 David Roden + * Sone - Profile.java - Copyright © 2010–2013 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,6 +26,9 @@ import java.util.Collections; import java.util.List; import java.util.UUID; +import com.google.common.hash.Hasher; +import com.google.common.hash.Hashing; + /** * A profile stores personal information about a {@link Sone}. All information * is optional and can be {@code null}. @@ -401,37 +404,37 @@ public class Profile implements Fingerprintable { */ @Override public String getFingerprint() { - StringBuilder fingerprint = new StringBuilder(); - fingerprint.append("Profile("); + Hasher hash = Hashing.sha256().newHasher(); + hash.putString("Profile("); if (firstName != null) { - fingerprint.append("FirstName(").append(firstName).append(')'); + hash.putString("FirstName(").putString(firstName).putString(")"); } if (middleName != null) { - fingerprint.append("MiddleName(").append(middleName).append(')'); + hash.putString("MiddleName(").putString(middleName).putString(")"); } if (lastName != null) { - fingerprint.append("LastName(").append(lastName).append(')'); + hash.putString("LastName(").putString(lastName).putString(")"); } if (birthDay != null) { - fingerprint.append("BirthDay(").append(birthDay).append(')'); + hash.putString("BirthDay(").putInt(birthDay).putString(")"); } if (birthMonth != null) { - fingerprint.append("BirthMonth(").append(birthMonth).append(')'); + hash.putString("BirthMonth(").putInt(birthMonth).putString(")"); } if (birthYear != null) { - fingerprint.append("BirthYear(").append(birthYear).append(')'); + hash.putString("BirthYear(").putInt(birthYear).putString(")"); } if (avatar != null) { - fingerprint.append("Avatar(").append(avatar).append(')'); + hash.putString("Avatar(").putString(avatar).putString(")"); } - fingerprint.append("ContactInformation("); + hash.putString("ContactInformation("); for (Field field : fields) { - fingerprint.append(field.getName()).append('(').append(field.getValue()).append(')'); + hash.putString(field.getName()).putString("(").putString(field.getValue()).putString(")"); } - fingerprint.append(")"); - fingerprint.append(")"); + hash.putString(")"); + hash.putString(")"); - return fingerprint.toString(); + return hash.hash().toString(); } /**