小程序
小游戏
企业微信
微信支付
扫描小程序码分享
前端在授权获取用户手机号之后,会得到一个encryptedData(加密数据),然后这串加密数据需要服务端去进行解密,服务端是java做的,想问一下各位哥哥有没有对应的样例呀,官方文档上提供的示例代码只有c++,node,php,python的
我在往上找了一些base64的解密方法试了也都乱码
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
public String decrypt(String data, String key, String iv, String encodingFormat) { byte[] dataByte = Base64.decodeBase64(data.getBytes()); byte[] keyByte = Base64.decodeBase64(key.getBytes()); byte[] ivByte = Base64.decodeBase64(iv.getBytes()); try { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec spec = new SecretKeySpec(keyByte, "AES"); AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES"); parameters.init(new IvParameterSpec(ivByte)); cipher.init(Cipher.DECRYPT_MODE, spec, parameters); byte[] resultByte = cipher.doFinal(dataByte); if (null != resultByte && resultByte.length > 0) { return new String(resultByte, encodingFormat); } return null; } catch (Exception e) { e.printStackTrace(); } return null; }
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
www.baidu.com
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
public String decrypt(String data, String key, String iv, String encodingFormat) { byte[] dataByte = Base64.decodeBase64(data.getBytes()); byte[] keyByte = Base64.decodeBase64(key.getBytes()); byte[] ivByte = Base64.decodeBase64(iv.getBytes()); try { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); SecretKeySpec spec = new SecretKeySpec(keyByte, "AES"); AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES"); parameters.init(new IvParameterSpec(ivByte)); cipher.init(Cipher.DECRYPT_MODE, spec, parameters); byte[] resultByte = cipher.doFinal(dataByte); if (null != resultByte && resultByte.length > 0) { return new String(resultByte, encodingFormat); } return null; } catch (Exception e) { e.printStackTrace(); } return null; }
www.baidu.com