> 백엔드 개발 > PHP 튜토리얼 > java - PHP는 어떻게 문자열을 이진 배열로 변환하고, 이진 배열에 대해 md5 다이제스트를 수행하고, 다이제스트된 이진 배열을 출력을 위해 16진수 문자열로 변환합니까?

java - PHP는 어떻게 문자열을 이진 배열로 변환하고, 이진 배열에 대해 md5 다이제스트를 수행하고, 다이제스트된 이진 배열을 출력을 위해 16진수 문자열로 변환합니까?

WBOY
풀어 주다: 2016-08-04 09:21:01
원래의
1293명이 탐색했습니다.

입력 매개변수 문자열 waitForSignString을 이진 배열로 변환하고 UTF-8(Java 코드: waitForSignString.getByte("utf-8"))을 사용하여 인코딩하고 서명 입력 매개변수의 이진 형식 데이터를 얻습니다( waitForSignBytes).

MD5, Sha1 또는 Sha256 알고리즘을 사용하여 waitForSignBytes에 대한 다이제스트 서명입니다. 결과 바이너리 배열 데이터(signatureBytes)에서 서명 가져오기

서명 출력의 결과 바이너리 배열(signatureBytes)에 대해 16진수 문자열 인코딩을 수행하여 최종 서명 문자열(서명)을 얻습니다.

알고리즘 표현:

문자열 서명 = Hex(digest (stringToSign secretKey)) 다이제스트 알고리즘은 다음과 같습니다: MD5, Sha256Hex

이 서명 알고리즘을 PHP에서 어떻게 구현해야 합니까? PHP의 md5에는 배열에서 작동할 방법이 없는 것 같습니다. . . .

답글 내용:

입력 매개변수 문자열 waitForSignString을 이진 배열로 변환하고 UTF-8(Java 코드: waitForSignString.getByte("utf-8"))을 사용하여 인코딩하고 서명 입력 매개변수의 이진 형식 데이터를 얻습니다( waitForSignBytes).

MD5, Sha1 또는 Sha256 알고리즘을 사용하여 waitForSignBytes에 대한 다이제스트 서명입니다. 결과 바이너리 배열 데이터(signatureBytes)에서 서명 가져오기

서명 출력의 결과 바이너리 배열(signatureBytes)에 대해 16진수 문자열 인코딩을 수행하여 최종 서명 문자열(서명)을 얻습니다.

알고리즘 표현:

문자열 서명 = Hex(digest (stringToSign secretKey)) 다이제스트 알고리즘은 다음과 같습니다: MD5, Sha256Hex

이 서명 알고리즘을 PHP에서 어떻게 구현해야 합니까? PHP의 md5에는 배열에서 작동할 방법이 없는 것 같습니다. . . .

  1. PHP에서 문자열은 바이너리와 호환되며 기본적으로 인코딩이 제공됩니다. 문자열 자체가 UTF-8로 인코딩된 경우 이미 UTF-8 바이너리 배열입니다.

  2. PHP의 md5 함수는 문자열(즉, 바이너리 배열)의 MD5 값을 직접 계산할 수 있으며, 기본 출력은 16진수로 변환된 결과입니다.

그래서 Modo 연산이 Java에서 달성하려는 것은...
PHP에서는 $md5 = md5('字符串');

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿