Java取邮箱名_java根据邮箱获取Gravatar头像

在网上找了很多根据邮箱获取Gravatar头像的教程都是php的...

好吧我也记录下来....

首先嘛,是需要到https://en.gravatar.com/ 注册或者登录吧..

然后可以根据php的语言转换...

php获取Gravatar头像是这样仔转换的

$email = "admin@199604.com";

$gravatarImg = 'https://s.gravatar.com/avatar/' . md5($email) . '?s=32';

1

2

$email="admin@199604.com";

$gravatarImg='https://s.gravatar.com/avatar/'.md5($email).'?s=32';

因为我的邮箱转化为md5后是162d8d081d380691c5279df2bbef4152

所以这时候$gravatarImg 是https://s.gravatar.com/avatar/162d8d081d380691c5279df2bbef4152?s=32

其实?s=xx是图片大小

最后http://www.gravatar.com/avatar/162d8d081d380691c5279df2bbef4152?s=32 也是可以获取图片...

现在我们来对比一下官网的吧...

b4355947086ae3d786fb3e06ef2b2924.png

看到这个图片是不是和我上面解释相差无几吧..但是最重要的一点是...你的邮箱在Gravatar上存在上传的图片..

下面记录一下java实现吧..

package com.blog.util;

import java.security.MessageDigest;

public class Functions {

public static String emailToMd5(String message){

String temp = "";

try{

MessageDigest md5Digest = MessageDigest.getInstance("MD5");

byte[] encodeMd5Digest = md5Digest.digest(message.getBytes());

temp = convertByteToHexString(encodeMd5Digest);

}catch (Exception e) {

e.printStackTrace();

}

return temp;

}

public static String convertByteToHexString(byte[] bytes){

String result = "";

for(int i=0;i

int temp = bytes[i]&0xff;

String tempHex = Integer.toHexString(temp);

if(tempHex.length()<2){

result +="0"+tempHex;

}else{

result +=tempHex;

}

}

return result;

}

//根据email获取gravatar头像

public static String getGravatar(String email) {

String emailMd5 = emailToMd5(email);

//设置图片大小32px

String avatar = "https://s.gravatar.com/avatar/"+emailMd5+"?s=32";

return avatar;

}

public static void main(String[] args) {

//String emailMd5 = emailToMd5("admin@199604.com");

//System.out.println(emailMd5);//162d8d081d380691c5279df2bbef4152

//System.out.println(emailMd5.equals("162d8d081d380691c5279df2bbef4152"));//true

String gravatarImg = getGravatar("admin@199604.com");

System.out.println(gravatarImg);

//输出https://s.gravatar.com/avatar/162d8d081d380691c5279df2bbef4152?s=32

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

packagecom.blog.util;

importjava.security.MessageDigest;

publicclassFunctions{

publicstaticStringemailToMd5(Stringmessage){

Stringtemp="";

try{

MessageDigestmd5Digest=MessageDigest.getInstance("MD5");

byte[]encodeMd5Digest=md5Digest.digest(message.getBytes());

temp=convertByteToHexString(encodeMd5Digest);

}catch(Exceptione){

e.printStackTrace();

}

returntemp;

}

publicstaticStringconvertByteToHexString(byte[]bytes){

Stringresult="";

for(inti=0;i

inttemp=bytes[i]&0xff;

StringtempHex=Integer.toHexString(temp);

if(tempHex.length()<2){

result+="0"+tempHex;

}else{

result+=tempHex;

}

}

returnresult;

}

//根据email获取gravatar头像

publicstaticStringgetGravatar(Stringemail){

StringemailMd5=emailToMd5(email);

//设置图片大小32px

Stringavatar="https://s.gravatar.com/avatar/"+emailMd5+"?s=32";

returnavatar;

}

publicstaticvoidmain(String[]args){

//String emailMd5 = emailToMd5("admin@199604.com");

//System.out.println(emailMd5);//162d8d081d380691c5279df2bbef4152

//System.out.println(emailMd5.equals("162d8d081d380691c5279df2bbef4152"));//true

StringgravatarImg=getGravatar("admin@199604.com");

System.out.println(gravatarImg);

//输出https://s.gravatar.com/avatar/162d8d081d380691c5279df2bbef4152?s=32

}

}

原理其实很简单,就是把邮箱转化成md5,然后拼接到Gravatar图片地址上面..

如果你觉得不信的话,可以去实现....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值