新聞中心
如何解析微信小程序手機號異常 Exception:javax.crypto.BadPaddingException: Given final block not properly padded,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的郊區(qū)網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
Exception:javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
偶發(fā)性異常:沒登錄時用AES/CBC/PKCS7Padding,登錄后用AES/CBC/PKCS5Padding;
public static String decrypt(String keyStr, String ivStr, String encDataStr)throws Exception { try { logger.info("使用 AES/CBC/PKCS5Padding 解密手機號"); byte[] encData = Base64Util.decode(encDataStr); byte[] iv =Base64Util.decode(ivStr); byte[] key = Base64Util.decode(keyStr); AlgorithmParameterSpec ivSpec = new IvParameterSpec(iv); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); return new String(cipher.doFinal(encData),"UTF-8"); }catch (Exception e){ logger.info("使用 AES/CBC/PKCS7Padding 解密手機號"); byte[] encData = Base64Util.decode(encDataStr); byte[] iv =Base64Util.decode(ivStr); byte[] key = Base64Util.decode(keyStr); AlgorithmParameterSpec ivSpec = new IvParameterSpec(iv); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding"); SecretKeySpec keySpec = new SecretKeySpec(key, "AES"); cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); return new String(cipher.doFinal(encData),"UTF-8"); } }
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
分享標題:如何解析微信小程序手機號異常Exception:javax.crypto.BadPaddingException:Givenfinalblocknotproperlypadded
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/pspdpg.html