내가 자바 스크립트로 PHP 함수를 변환하려고에 PHP 할당을 변환 시도,하지만 난 코드의 다음 줄을 읽을 캔트 :는 자바 스크립트
$sha_string .= "$key=$value$ipn_passphrase";
및
$sha_sign = strtoupper(hash("sha512", $sha_string));
전체 기능 :
function digistore_signature($ipn_passphrase, $array)
{
unset($array[ 'sha_sign' ]);
$keys = array_keys($array);
sort($keys);
$sha_string = "";
foreach ($keys as $key)
{
$value = html_entity_decode($array[ $key ]);
$is_empty = !isset($value) || $value === "" || $value === false;
if ($is_empty)
{
continue;
}
$sha_string .= "$key=$value$ipn_passphrase";
}
$sha_sign = strtoupper(hash("sha512", $sha_string));
return $sha_sign;
}
$ 배열은 POST 요청의 본문입니다. $ passphrase는 문자열입니다.
'이해'와 같이 '읽음'을 의미합니까? '$ key'를'key','$ value'를'123','$ ipn_passphrase'를'pass'라고합시다. 이런 식으로'$ sha_string'은 변수가 파싱되어 문자열로 변환되기 때문에''key = 123pass ''입니다. 그런 다음'$ sha_sign'은 그 변수를 SHA-512 알고리즘을 사용하여 암호화 한 다음 대문자로 변환합니다. – Zeke