java hash 加密算法_java加密算法解释下

谁能帮我解释下下面这段代码是怎么进行加密的最终算出key或ske的值publicstaticStringa(ListparamList,StringparamString){StringBufferlocalStringBuffer=newStringB...

谁能帮我解释下下面这段代码是怎么进行加密的 最终算出key或ske的值

public static String a(List paramList, String paramString)

{

StringBuffer localStringBuffer = new StringBuffer();

if ((paramList != null) && (paramList.size() != 0));

for (int i = 0; ; i++)

{

if (i >= paramList.size())

{

localStringBuffer.append("time=" + paramString);

localStringBuffer.append("_").append("!QA@WS#678moca");

String str1 = f.b("userToken", null);

if (v.c(str1))

localStringBuffer.append("_").append(str1);

String str2 = l.a(localStringBuffer.toString());

com.hoolai.moca.core.a.a("ImageUploadUtil", "key : " + localStringBuffer);

com.hoolai.moca.core.a.a("ImageUploadUtil", "keyMd5:" + str2);

return str2;

}

NameValuePair localNameValuePair = (NameValuePair)paramList.get(i);

localStringBuffer.append(localNameValuePair.getName() + "=").append(localNameValuePair.getValue());

}

}

public static boolean a(String paramString1, MessageType paramMessageType, String paramString2, String[] paramArrayOfString1, String[] paramArrayOfString2)

throws MCException

{

HashMap localHashMap = new HashMap();

localHashMap.put("type", String.valueOf(paramMessageType.ordinal()));

localHashMap.put("platform_name", "android");

localHashMap.put("version_api", String.valueOf(com.hoolai.moca.core.a.a.bD()));

localHashMap.put("filename", l.a(new File(paramString2)));

localHashMap.put("device_id", w.c(MainApplication.a()));

String str1 = f.b("userId", null);

if (v.c(str1))

localHashMap.put("login_uid", str1);

if (paramMessageType == MessageType.e)

localHashMap.put("duration", com.hoolai.moca.util.a.a.b(Uri.parse(paramString2)));

int i;

ArrayList localArrayList;

Iterator localIterator;

String str4;

if ((paramArrayOfString1 != null) && (paramArrayOfString2 != null))

{

if (paramArrayOfString1.length != paramArrayOfString2.length)

throw new RuntimeException("keys and values must have same size.");

i = 0;

if (i < paramArrayOfString1.length);

}

else

{

localArrayList = new ArrayList();

if (localHashMap != null)

{

localIterator = localHashMap.keySet().iterator();

if (localIterator.hasNext())

break label411;

}

String str2 = System.currentTimeMillis() / 1000L;

String str3 = a(localArrayList, str2);

localArrayList.add(new BasicNameValuePair("time", str2));

localArrayList.add(new BasicNameValuePair("key", str3));

localArrayList.add(new BasicNameValuePair("skey", a(str3.charAt(0), str3.charAt(-1 + str3.length()))));

switch (a()[paramMessageType.ordinal()])

{

展开

微信扫码订阅
UP更新不错过~
关注
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拓夫丐

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值