麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

Java解密微信小程序手機號的方法

2024-07-14 08:43:15
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Java解密微信小程序手機號的具體代碼,供大家參考,具體內容如下

第一步:創建AES解密工具類:代碼如下

import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;import java.security.AlgorithmParameters;import java.security.Key;import java.security.Security;public class AES {  // 算法名  public static final String KEY_NAME = "AES";  // 加解密算法/模式/填充方式  // ECB模式只用密鑰即可對數據進行加密解密,CBC模式需要添加一個iv  public static final String CIPHER_ALGORITHM = "AES/CBC/PKCS7Padding";  /**   * 微信 數據解密<br/>   * 對稱解密使用的算法為 AES-128-CBC,數據采用PKCS#7填充<br/>   * 對稱解密的目標密文:encrypted=Base64_Decode(encryptData)<br/>   * 對稱解密秘鑰:key = Base64_Decode(session_key),aeskey是16字節<br/>   * 對稱解密算法初始向量:iv = Base64_Decode(iv),同樣是16字節<br/>   *   * @param encrypted 目標密文   * @param session_key 會話ID   * @param iv 加密算法的初始向量   */  public static String wxDecrypt(String encrypted, String session_key, String iv) {    String json = null;    byte[] encrypted64 = Base64.decodeBase64(encrypted);    byte[] key64 = Base64.decodeBase64(session_key);    byte[] iv64 = Base64.decodeBase64(iv);    byte[] data;    try {      init();      json = new String(decrypt(encrypted64, key64, generateIV(iv64)));    } catch (Exception e) {      e.printStackTrace();    }    return json;  }  /**   * 初始化密鑰   */  public static void init() throws Exception {    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());    KeyGenerator.getInstance(KEY_NAME).init(128);  }  /**   * 生成iv   */  public static AlgorithmParameters generateIV(byte[] iv) throws Exception {    // iv 為一個 16 字節的數組,這里采用和 iOS 端一樣的構造方法,數據全為0    // Arrays.fill(iv, (byte) 0x00);    AlgorithmParameters params = AlgorithmParameters.getInstance(KEY_NAME);    params.init(new IvParameterSpec(iv));    return params;  }  /**   * 生成解密   */  public static byte[] decrypt(byte[] encryptedData, byte[] keyBytes, AlgorithmParameters iv)      throws Exception {    Key key = new SecretKeySpec(keyBytes, KEY_NAME);    Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);    // 設置為解密模式    cipher.init(Cipher.DECRYPT_MODE, key, iv);    return cipher.doFinal(encryptedData);  }}

第二步:接口調用

接收參數: encrypted  session_key iv

public String decodeUserInfo(String encrypted, String session_key, String iv) throws IOException {  String json = wxDecrypt(encrypted, session_key, iv);  System.out.println(json);  return json;}

官方文檔:鏈接地址

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲综合网站 | 中文字幕在线观看免费视频 | 日本高清在线播放 | 全黄性色大片 | xxxxhdvideosex | 午夜视频在线免费观看 | 成人毛片免费播放 | 91成人免费网站 | 一本色道久久综合狠狠躁篇适合什么人看 | 婷婷亚洲一区二区三区 | 国产91久久精品 | 久久久日韩精品一区二区三区 | 美女视频免费一区二区 | 毛片在线播放视频 | 免费a视频在线观看 | 欧美一级高清免费 | a免费看 | 精品一区二区久久久久久久网精 | 欧美黄色大片免费观看 | 欧美日韩大片在线观看 | 国产精品爱久久久久久久 | 久久久麻豆 | 国产1区2区3区在线观看 | 成人三级电影在线 | 国产成人高清成人av片在线看 | 中文字幕xxx| 成人免费视频 | 国产一区日韩精品 | 久草在线最新免费 | 久久久电影电视剧免费看 | 久久9999久久| 成人在线视频黄色 | 国产精品久久久久久模特 | 日本在线播放一区二区三区 | 欧美视屏一区二区 | 精品中文字幕在线观看 | 国产成年人视频 | 中国黄色一级生活片 | 国产欧美精品一区二区三区四区 | 国产成人精品二区 | 国产毛片网 |