자바 위 챗 공중 번호 보안 모드 메시지 복호화
1.위 챗 공식 플랫폼 에서 복호화 도 구 를 다운로드 하고 항목 을 가 져 옵 니 다.demo 복호화 메시지 에 따라 복호화 도구 의 공식 다운로드 주소:클릭 하여 열기링크
public static String streamToString(HttpServletRequest request) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
/**
* xml map
*
* @param request
* @param msg
* @return
* @throws IOException
* @throws DocumentException
*/
public static Map<String, String> xmlToMap(HttpServletRequest request, Message msg) throws Exception {
SAXReader reader = new SAXReader();
String token = "";
String encodingAesKey = "";
String appId = "";
// xml
/* String format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%1$s]]></Encrypt></xml>";
Document document = reader.read(request.getInputStream());
Element rootElement = document.getRootElement();
Element encrypt = rootElement.element("Encrypt");*/
// String fromXML = String.format(format, encrypt.getText());
String fromXML = streamToString(request);
//
WXBizMsgCrypt pc = new WXBizMsgCrypt(token, encodingAesKey, appId);
//
String result = pc.decryptMsg(msg.getMsg_signature(), msg.getTimestamp(), msg.getNonce(), fromXML);
Map<String, String> map = new HashMap<>(6);
// xml
Document doc = DocumentHelper.parseText(result);
Element root = doc.getRootElement();
List<Element> list = root.elements();
for (Element e : list) {
map.put(e.getName(), e.getText());
}
return map;
}
메시지 실체 클래스
package com.caisin.weixin.domain;
import lombok.Data;
@Data
public class Message {
private String signature;
private String timestamp;
private String nonce;
private String openid;
private String msg_signature;
private String encrypt_type;
}
2.JDK 중 jdk\\jre\lib\보안\정책\\unlimited 디 렉 터 리 중 localpolicy.jar 와 USexport_policy.jar 두 파일 복사 jdk\\jre\lib\security 디 렉 터 리 아래이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.