首页 > 编程知识 正文

js代码转换(js代码转换成一行)

时间:2023-11-29 19:40:50 阅读:310490 作者:YTYU

本文目录一览:

  • 1、怎么把js代码怎么换成汉字
  • 2、这个JS代码转成PHP该怎么写呀?
  • 3、js代码转换为java

怎么把js代码怎么换成汉字

JS既然是代码,自然转不了汉字,而且也毫无意义。

如果是把汉字代码转为汉字,可以使用String.fromCharCode(字符的Ascii码),就可实现将ascii码转换成字符。

这个JS代码转成PHP该怎么写呀?

//对应js的Math.random,引用网址:

function random($min = 0, $max = 1){

    return $min + mt_rand()/mt_getrandmax()*($max-$min);

}

function urlensafe ($str){

    $data = base64_encode($str);

    return str_replace(['+','/','='],['-','_',''],$data);

}

function encode($str){

     $m=(int)(random() * 35 + 1)*7;

     $a=$n=chr($m);

     $tmp='';

     $len=mb_strlen($str,'utf-8');//strlen($str);

     for ($i = 0; $i  $len; $i += 2) {

         $n = ord($a[0]) ^ ord($str[$i]);

         $tmp .= chr($n);

         if ($i + 1  $len) {

            $n = $n ^ ord($str[$i+1]);

            $tmp .= chr($n);

         }

     }

     $tmp = $a.$tmp;

     return urlensafe($tmp);

}

js代码转换为java

理解他的原理就好写了。

所有参数 排除 时间戳,按照字母顺序排序,然后连接起来 和 appKey 以及 appSercet 进行md5 运算。

排序可以使用 String []keys = map.keyset().toarray() 获取后使用 Collections 进行sort。

有个类似的,可以参考一下:

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));

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。