抖音用户手机号API说明-------抖音开放平台

 在抖音开放平台里有这么一个接口是获取抖音用户的手机号的,在用户授权之后会得到一个由base64的加密的字符串,我们要想知道这个字符串代表的手机号是多少,就必须要进行解密。

一下是抖音开放平台给出的示例。然而我个人看不懂这是什么代码写的,然后再网上东拼西凑,给出大家一个java版的解密demo

抖音用户手机号API说明-------抖音开放平台_第1张图片

根据抖音官方说的,根据自己申请的应用clientSecret  =>(

解密手机号,使用Aes算法解密,秘钥是clientSecret, 向量lv 是clientSecret前16字节

去解密自己所得的用户手机加密串

官方说的这句( 向量lv 是clientSecret前16字节)=> 意思是说根据自己的应用clientSecret 从第一位开始数到第16位截取出来获取到这一段字符串的byte[]数组去解密

一下是java版的解密demo--------

public class climbHtml {
	
	
	
	public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeyException, NoSuchPaddingException, BadPaddingException, IllegalBlockSizeException, InvalidAlgorithmParameterException, UnsupportedEncodingException {
		

		
		System.out.println(decryptAES("B1/yGfhuiewjwpoCMEw==".getBytes(), "uj2fhiso3wdu4ghduhf85eds", "uj2fhiso3wdu4gh"));
		
		
	}
	
	
	 /**
     * 解密
     * @param content: 待解密内容,是 BASE64 编码后的字节数组
     * @param secretKeyStr: 解密使用的 AES 密钥,BASE64 编码后的字符串
     * @param iv: 初始化向量,长度 16 字节,16*8 = 128 位
     * @return 解密后的明文,直接返回经 UTF-8 编码转换后的明文
     */
    public static String decryptAES(byte[] content, String secretKeyStr, String iv) throws NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, InvalidAlgorithmParameterException, UnsupportedEncodingException {
        // 密文进行 BASE64 解密处理
        byte[] contentDecByBase64 = Base64.getDecoder().decode(content);
        // 获得一个 SecretKeySpec
        // SecretKeySpec secretKeySpec = new SecretKeySpec(Base64.getDecoder().decode(secretKeyStr), "AES");
        SecretKeySpec secretKeySpec = new SecretKeySpec(secretKeyStr.getBytes(), "AES");
        // 获得加密算法实例对象 Cipher
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); //"算法/模式/补码方式"
        // 获得一个初始化 IvParameterSpec
        IvParameterSpec ivParameterSpec = new IvParameterSpec(iv.getBytes());
        // 根据参数初始化算法
        cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec);
        // 解密
        return new String(cipher.doFinal(contentDecByBase64), "utf8");
    }

	
	
	


	
	
	
	
	
}

可以加入群里交流

 点击链接加入群聊【技术-资源-交流群】:https://jq.qq.com/?_wv=1027&k=mLJpD5xs

你可能感兴趣的:(网站推荐,加密解密,安全)