Skip to content

Commit

Permalink
Merge pull request #137 from wordpress-mobile/issue/gravatar-support-…
Browse files Browse the repository at this point in the history
…sha256

Gravatar sha256 support
  • Loading branch information
zwarm committed Jan 3, 2024
2 parents 0d87402 + 52a9327 commit 8d5852c
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ public static String gravatarFromEmail(final String email, int size) {

public static String gravatarFromEmail(final String email, int size, DefaultImage defaultImage) {
return "http://gravatar.com/avatar/"
+ StringUtils.getMd5Hash(StringUtils.notNullStr(email))
+ StringUtils.getSha256Hash(StringUtils.notNullStr(email))
+ "?d=" + defaultImage.toString()
+ "&size=" + Integer.toString(size);
+ "&size=" + size;
}

public static String blavatarFromUrl(final String url, int size) {
Expand All @@ -79,8 +79,8 @@ public static String blavatarFromUrl(final String url, int size) {

public static String blavatarFromUrl(final String url, int size, DefaultImage defaultImage) {
return "http://gravatar.com/blavatar/"
+ StringUtils.getMd5Hash(UrlUtils.getHost(url))
+ StringUtils.getSha256Hash(UrlUtils.getHost(url))
+ "?d=" + defaultImage.toString()
+ "&size=" + Integer.toString(size);
+ "&size=" + size;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,26 @@ public static String getMd5Hash(String input) {
return md5;
}

public static BigInteger getSha256IntHash(String input) {
try {
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] messageDigest = sha256.digest(input.getBytes());
return new BigInteger(1, messageDigest);
} catch (NoSuchAlgorithmException e) {
AppLog.e(T.UTILS, e);
return null;
}
}

public static String getSha256Hash(String input) {
BigInteger number = getSha256IntHash(input);
String sha256 = number.toString(16);
while (sha256.length() < 64) {
sha256 = "0" + sha256;
}
return sha256;
}

/*
* nbradbury - adapted from Html.escapeHtml(), which was added in API Level 16
* TODO: not thoroughly tested yet, so marked as private - not sure I like the way
Expand Down

0 comments on commit 8d5852c

Please sign in to comment.