| 
					
				 | 
			
			
				@ -0,0 +1,83 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.util; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.crypto.Mac; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.crypto.spec.SecretKeySpec; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.UnsupportedEncodingException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.net.URLEncoder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.security.InvalidKeyException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.security.NoSuchAlgorithmException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Base64; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created with IntelliJ IDEA. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Author: yeshijie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Date: 2021/9/2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Description: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class OneNetUtil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static final String MasterAPIkey ="Da0iDvhQ5H8OD6phWq=tMubBcBw="; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static final String access_key  ="WikrY0Zy/BB308DZhplru4Mc65OijFqH35nMEh4xre0="; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static String assembleToken(String version, String resourceName, String expirationTime, String signatureMethod, String accessKey) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuilder sb = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String res = URLEncoder.encode(resourceName, "UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sig = URLEncoder.encode(generatorSignature(version, resourceName, expirationTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                , accessKey, signatureMethod), "UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sb.append("version=") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append(version) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append("&res=") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append(res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append("&et=") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append(expirationTime) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append("&method=") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append(signatureMethod) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append("&sign=") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .append(sig); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return sb.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static String generatorSignature(String version, String resourceName, String expirationTime, String accessKey, String signatureMethod) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throws NoSuchAlgorithmException, InvalidKeyException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String encryptText = expirationTime + "\n" + signatureMethod + "\n" + resourceName + "\n" + version; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String signature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        byte[] bytes = HmacEncrypt(encryptText, accessKey, signatureMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signature = Base64.getEncoder().encodeToString(bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return signature; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static byte[] HmacEncrypt(String data, String key, String signatureMethod) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throws NoSuchAlgorithmException, InvalidKeyException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SecretKeySpec signinKey = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        signinKey = new SecretKeySpec(Base64.getDecoder().decode(key), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "Hmac" + signatureMethod.toUpperCase()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //生成一个指定 Mac 算法 的 Mac 对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Mac mac = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mac = Mac.getInstance("Hmac" + signatureMethod.toUpperCase()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //用给定密钥初始化 Mac 对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mac.init(signinKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //完成 Mac 操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return mac.doFinal(data.getBytes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public enum SignatureMethod { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        SHA1, MD5, SHA256; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public static void main(String[] args) throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String version = "2018-10-31"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String resourceName = "mqs/A1EB10110CFA9E06D6209E40C4A6D7976"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String expirationTime = System.currentTimeMillis() / 1000 + 100 * 24 * 60 * 60 + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String signatureMethod = SignatureMethod.SHA1.name().toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String accessKey = "KuF3NT/jUBJ62LNBB/A8XZA9CqS3Cu79B/ABmfA1UCw="; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String token = assembleToken(version, resourceName, expirationTime, signatureMethod, accessKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println("Authorization:" + token); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |