新聞中心
一個(gè)js方法轉(zhuǎn)換為java代碼
package p1;
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、做網(wǎng)站、鄂州網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、鄂州網(wǎng)絡(luò)營銷、鄂州企業(yè)策劃、鄂州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供鄂州建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
import java.util.Arrays;
import java.util.LinkedList;
public class Guy
{
public static void recursionSub ( LinkedListint[] list, int count, int[] array, int ind, int start, int... indexs )
{
start++;
if (start count - 1)
{
return;
}
if (start == 0)
{
indexs = new int[array.length];
}
for ( indexs = ind; indexs array.length; indexs++ )
{
recursionSub (list, count, array, indexs + 1, start, indexs);
if (start == count - 1)
{
int[] temp = new int[count];
for ( int i = count - 1; i = 0; i-- )
{
temp[start - i] = array[indexs[start - i]];
}
list.add (temp);
}
}
}
public static void main ( String[] args )
{
int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
LinkedListint[] list = new LinkedListint[] ();
recursionSub (list, 3, array, 0, -1);
for ( int[] strings : list )
{
System.out.println (Arrays.toString (strings));
}
}
}
js轉(zhuǎn)java代碼
package p1;
import java.util.Arrays;
import java.util.LinkedList;
public class Guy
{
public static void recursionSub ( LinkedListint[] list, int count, int[] array, int ind, int start, int... indexs )
{
start++;
if (start count - 1)
{
return;
}
if (start == 0)
{
indexs = new int[array.length];
}
for ( indexs = ind; indexs array.length; indexs++ )
{
recursionSub (list, count, array, indexs + 1, start, indexs);
if (start == count - 1)
{
int[] temp = new int[count];
for ( int i = count - 1; i = 0; i-- )
{
temp[start - i] = array[indexs[start - i]];
}
list.add (temp);
}
}
}
public static void main ( String[] args )
{
int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
LinkedListint[] list = new LinkedListint[] ();
recursionSub (list, 3, array, 0, -1);
for ( int[] strings : list )
{
System.out.println (Arrays.toString (strings));
}
}
}
js代碼轉(zhuǎn)換為java
理解他的原理就好寫了。
所有參數(shù)?排除?時(shí)間戳,按照字母順序排序,然后連接起來?和?appKey?以及?appSercet?進(jìn)行md5?運(yùn)算。
排序可以使用?String?[]keys?=?map.keyset().toarray()?獲取后使用?Collections?進(jìn)行sort。
有個(gè)類似的,可以參考一下:
public?static?boolean?signVerify(String?appSecret,MapString,?String?params){
MapString,?String?map=new?HashMapString,?String();
map.put("appSecret",?appSecret);
for(String?key:params.keySet()){
if(!key.equals("sign")){
map.put(key,?params.get(key));
}
}
String?sign=sign(map);
if(sign.equals(params.get("sign"))){
return?true;
}
return?false;
}
private?static?String?toHexValue(byte[]?messageDigest)?{
if?(messageDigest?==?null)
return?"";
StringBuilder?hexValue?=?new?StringBuilder();
for?(byte?aMessageDigest?:?messageDigest)?{
int?val?=?0xFF??aMessageDigest;
if?(val??16)?{
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return?hexValue.toString();
}
/**
?*?
?*?@param?params
?*?@return
?*/
public?static?String?sign(MapString,String?params){
ListString?keys=new?ArrayListString(params.keySet());
Collections.sort(keys);
String?string="";
for(String?s:keys){
string+=params.get(s);
}
String?sign="";
try?{
sign?=?toHexValue(encryptMD5(string.getBytes(Charset.forName("utf-8"))));
}?catch?(Exception?e)?{
e.printStackTrace();
throw?new?RuntimeException("md5?error");
}
return?sign;
}
private?static?byte[]?encryptMD5(byte[]?data)throws?Exception{
MessageDigest?md5?=?MessageDigest.getInstance("MD5");
md5.update(data);
return?md5.digest();
}
public?static?void?main(String[]?args)?{
String?appKey="key";
String?appSecret="secret";
MapString,?String?params=new?HashMapString,?String();
params.put("appKey",?appKey);
params.put("appSecret",?appSecret);
params.put("date",?new?Date().getTime()+"");
String?sign=sign(params);
params.put("sign",?sign);
System.out.println(signVerify(appSecret,?params));
}
網(wǎng)站名稱:js代碼轉(zhuǎn)成java js代碼轉(zhuǎn)php
URL網(wǎng)址:http://fisionsoft.com.cn/article/doephdp.html