현재 위치 - 중국 분류 정보 발표 플랫폼 - 비즈니스 서비스 정보 - Java 의 32 비트 MD5 암호화는 PHP 의 32 비트 MD5 암호화 결과와 다릅니다. 도움을 청하다. 급급하다

Java 의 32 비트 MD5 암호화는 PHP 의 32 비트 MD5 암호화 결과와 다릅니다. 도움을 청하다. 급급하다

자바 문자열은 유니코드 인코딩이며 소스 파일의 인코딩에 영향을 받지 않습니다. PHP 의 인코딩은 소스 파일의 인코딩과 일치하며 소스 코드의 영향을 받습니다. 이 예에서 Java 문자 데이터는 해시 시 인코딩과 PHP 인코딩이 일치하지 않습니다. 이로 인해 출력이 다른 "병리"

라고 생각합니다.

알 수 없는 mad.toMd5 의 구체적인 구현으로 인해 문제의 직접적인 원인은 toMd5 의 String 에서 byte[] 로 변환할 때의 인코딩에 있거나 잘못된 인코딩

이 설정되어 있지 않거나 설정되어 있어야 합니다

그러나 Java 의 문자열이 먼저 getBytes 에서 바이트 문자열을 가져오고 PHP 소스 코드와 일치하면 일관된 결과를 얻을 수 있습니다.