首页 > 编程知识 正文

抖音用户查询api,抖音直播api开放平台

时间:2023-05-04 11:50:31 阅读:280758 作者:2016

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

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

根据抖音官方说的,根据自己申请的应用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

飞艇稳赚不赔的打法ontent); // 获得一个 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

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