javaraw(16)的简单介绍

博主:adminadmin 2023-01-04 05:24:11 665

本篇文章给大家谈谈javaraw(16),以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java http post 怎么设置 raw格式

调试微信推广支持中二维码生成api的接口,使用chrome浏览器的postman插件,post请求时有一个选项是form-data,或者raw,使用raw可以请求成功,from-data不知道怎么组装key和value所以一直失败。非常不明白raw是什么意思,google百度都没有相关的解释。后来研究发现,其实raw方式使用的是纯字符串的数据上传方式,所以在POST之前,可能需要手工的把一些json/text/xml格式的数据转换成字符串,是一种post原始请求,区别于form-data这种常用的key-value方式。

public static String result; public static void httpTest() throws ClientProtocolException, IOException { String token = "R5amyr6NyXCtWdScmNiuvVwBCJztfByZDUGaE2V0NwOUheW4XYlvUusYkrViTYt584RgcyXRhjxAJZG3rFlPLg"; String url = "" + token; String json = "{"action_name":"QR_LIMIT_SCENE","action_info":{"scene":{"scene_id":234}}}"; HttpClient httpClient = new DefaultHttpClient(); HttpPost post = new HttpPost(url); StringEntity postingString = new StringEntity(json);// json传递 post.setEntity(postingString); post.setHeader("Content-type", "application/json"); HttpResponse response = httpClient.execute(post); String content = EntityUtils.toString(response.getEntity()); // Log.i("test",content); System.out.println(content); result = content; }

以上代码中需要导入

import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils;

Android中自带org.apache.http相关库文件,所以可以快捷键(ctrl+shift+o)一次导入成功。

在java中将16进制转化为byte类型,再将byte类型转换回来,请大神解答?急

public class HexCodec {

private static final char[] kDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a',

'b', 'c', 'd', 'e', 'f' };

public static byte[] hexToBytes(char[] hex) {

int length = hex.length / 2;

byte[] raw = new byte[length];

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

int high = Character.digit(hex[i * 2], 16);

int low = Character.digit(hex[i * 2 + 1], 16);

int value = (high 4) | low;

if (value 127)

value -= 256;

raw[i] = (byte) value;

}

return raw;

}

public static byte[] hexToBytes(String hex) {

return hexToBytes(hex.toCharArray());

}

}

public static String toHex(byte b){

return (""+"0123456789ABCDEF".charAt(0xfb4)+"0123456789ABCDEF".charAt(b0xf));

}

java安卓开发中raw内音乐播放上一首下一首怎么实现

先做一个播放列表,,,,,,在播放完的事件中,播放下一首

~

~

~

~

在java语言中如何随机地生成一个字符串

可以配合UUID或者GUID来实现

GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。

UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID

import java.util.UUID;

public class Test {

public static void main(String[] args) {

UUID uuid = UUID.randomUUID();

System.out.println (uuid);

}

}

编译运行输出:

07ca3dec-b674-41d0-af9e-9c37583b08bb

两种方式生成guid 与uuid

需要comm log 库

/**

* @author Administrator

*

* TODO To change the template for this generated type comment go to

* Window - Preferences - Java - Code Style - Code Templates

*/

import java.net.InetAddress;

import java.net.UnknownHostException;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

import java.security.SecureRandom;

import java.util.Random;

public class RandomGUID extends Object {

protected final org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory

.getLog(getClass());

public String valueBeforeMD5 = "";

public String valueAfterMD5 = "";

private static Random myRand;

private static SecureRandom mySecureRand;

private static String s_id;

private static final int PAD_BELOW = 0x10;

private static final int TWO_BYTES = 0xFF;

/*

* Static block to take care of one time secureRandom seed.

* It takes a few seconds to initialize SecureRandom. You might

* want to consider removing this static block or replacing

* it with a "time since first loaded" seed to reduce this time.

* This block will run only once per JVM instance.

*/

static {

mySecureRand = new SecureRandom();

long secureInitializer = mySecureRand.nextLong();

myRand = new Random(secureInitializer);

try {

s_id = InetAddress.getLocalHost().toString();

} catch (UnknownHostException e) {

e.printStackTrace();

}

}

/*

* Default constructor. With no specification of security option,

* this constructor defaults to lower security, high performance.

*/

public RandomGUID() {

getRandomGUID(false);

}

/*

* Constructor with security option. Setting secure true

* enables each random number generated to be cryptographically

* strong. Secure false defaults to the standard Random function seeded

* with a single cryptographically strong random number.

*/

public RandomGUID(boolean secure) {

getRandomGUID(secure);

}

/*

* Method to generate the random GUID

*/

private void getRandomGUID(boolean secure) {

MessageDigest md5 = null;

StringBuffer sbValueBeforeMD5 = new StringBuffer(128);

try {

md5 = MessageDigest.getInstance("MD5");

} catch (NoSuchAlgorithmException e) {

logger.error("Error: " + e);

}

try {

long time = System.currentTimeMillis();

long rand = 0;

if (secure) {

rand = mySecureRand.nextLong();

} else {

rand = myRand.nextLong();

}

sbValueBeforeMD5.append(s_id);

sbValueBeforeMD5.append(":");

sbValueBeforeMD5.append(Long.toString(time));

sbValueBeforeMD5.append(":");

sbValueBeforeMD5.append(Long.toString(rand));

valueBeforeMD5 = sbValueBeforeMD5.toString();

md5.update(valueBeforeMD5.getBytes());

byte[] array = md5.digest();

StringBuffer sb = new StringBuffer(32);

for (int j = 0; j array.length; ++j) {

int b = array[j] TWO_BYTES;

if (b PAD_BELOW)

sb.append('0');

sb.append(Integer.toHexString(b));

}

valueAfterMD5 = sb.toString();

} catch (Exception e) {

logger.error("Error:" + e);

}

}

/*

* Convert to the standard format for GUID

* (Useful for SQL Server UniqueIdentifiers, etc.)

* Example: C2FEEEAC-CFCD-11D1-8B05-00600806D9B6

*/

public String toString() {

String raw = valueAfterMD5.toUpperCase();

StringBuffer sb = new StringBuffer(64);

sb.append(raw.substring(0, 8));

sb.append("-");

sb.append(raw.substring(8, 12));

sb.append("-");

sb.append(raw.substring(12, 16));

sb.append("-");

sb.append(raw.substring(16, 20));

sb.append("-");

sb.append(raw.substring(20));

return sb.toString();

}

// Demonstraton and self test of class

public static void main(String args[]) {

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

RandomGUID myGUID = new RandomGUID();

System.out.println("Seeding String=" + myGUID.valueBeforeMD5);

System.out.println("rawGUID=" + myGUID.valueAfterMD5);

System.out.println("RandomGUID=" + myGUID.toString());

}

}

}

java中raw代表什么

原始类型

声明这种通用类型时,编译器会发出警告,提示用户对该引用参数化为具体类型

java 给定十六位密钥 如何进行des加密?

package com.palic.pss.afcs.worldthrough.common.util;

import javax.crypto.Cipher;

import javax.crypto.spec.SecretKeySpec;

import repack.com.thoughtworks.xstream.core.util.Base64Encoder;

/**

 * AES加密解密

 * @author EX-CHENQI004

 *

 */

public class AesUtils {

public static final String cKey= "assistant7654321";

  /** 

     * 加密--把加密后的byte数组先进行二进制转16进制在进行base64编码 

     * @param sSrc 

     * @param sKey 

     * @return 

     * @throws Exception 

     */  

    public static String encrypt(String sSrc, String sKey) throws Exception {  

        if (sKey == null) {  

            throw new IllegalArgumentException("Argument sKey is null.");  

        }  

        if (sKey.length() != 16) {  

            throw new IllegalArgumentException(  

                    "Argument sKey'length is not 16.");  

        }  

        byte[] raw = sKey.getBytes("ASCII");  

        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");  

  

        Cipher cipher = Cipher.getInstance("AES");  

        cipher.init(Cipher.ENCRYPT_MODE, skeySpec);  

  

        byte[] encrypted = cipher.doFinal(sSrc.getBytes("UTF-8"));  

        String tempStr = parseByte2HexStr(encrypted);  

  

        Base64Encoder encoder = new Base64Encoder();  

        return encoder.encode(tempStr.getBytes("UTF-8"));  

    }  

  

    /** 

     *解密--先 进行base64解码,在进行16进制转为2进制然后再解码 

     * @param sSrc 

     * @param sKey 

     * @return 

     * @throws Exception 

     */  

    public static String decrypt(String sSrc, String sKey) throws Exception {  

  

        if (sKey == null) {  

            throw new IllegalArgumentException("499");  

        }  

        if (sKey.length() != 16) {  

            throw new IllegalArgumentException("498");  

        }  

  

        byte[] raw = sKey.getBytes("ASCII");  

        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");  

  

        Cipher cipher = Cipher.getInstance("AES");  

        cipher.init(Cipher.DECRYPT_MODE, skeySpec);  

  

        Base64Encoder encoder = new Base64Encoder();  

        byte[] encrypted1 = encoder.decode(sSrc);  

  

        String tempStr = new String(encrypted1, "utf-8");  

        encrypted1 = parseHexStr2Byte(tempStr);  

        byte[] original = cipher.doFinal(encrypted1);  

        String originalString = new String(original, "utf-8");  

        return originalString;  

    }  

  

    /** 

     * 将二进制转换成16进制 

     *  

     * @param buf 

     * @return 

     */  

    public static String parseByte2HexStr(byte buf[]) {  

        StringBuffer sb = new StringBuffer();  

        for (int i = 0; i  buf.length; i++) {  

            String hex = Integer.toHexString(buf[i]  0xFF);  

            if (hex.length() == 1) {  

                hex = '0' + hex;  

            }  

            sb.append(hex.toUpperCase());  

        }  

        return sb.toString();  

    }  

  

    /** 

     * 将16进制转换为二进制 

     *  

     * @param hexStr 

     * @return 

     */  

    public static byte[] parseHexStr2Byte(String hexStr) {  

        if (hexStr.length()  1)  

            return null;  

        byte[] result = new byte[hexStr.length() / 2];  

        for (int i = 0; i  hexStr.length() / 2; i++) {  

            int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);  

            int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2),  

                    16);  

            result[i] = (byte) (high * 16 + low);  

        }  

        return result;  

    } 

    public static void main(String[] args) throws Exception {

/*

 * 加密用的Key 可以用26个字母和数字组成,最好不要用保留字符,虽然不会错,至于怎么裁决,个人看情况而定

 */

String cKey = "assistant7654321";

// 需要加密的字串

String cSrc = "123456";

// 加密

long lStart = System.currentTimeMillis();

String enString = encrypt(cSrc, cKey);

System.out.println("加密后的字串是:" + enString);

long lUseTime = System.currentTimeMillis() - lStart;

System.out.println("加密耗时:" + lUseTime + "毫秒");

// 解密

lStart = System.currentTimeMillis();

String DeString = decrypt(enString, cKey);

System.out.println("解密后的字串是:" + DeString);

lUseTime = System.currentTimeMillis() - lStart;

System.out.println("解密耗时:" + lUseTime + "毫秒");

}

}

关于javaraw(16)和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。