반응형
문자열의 HmacSHA256 서명을 생성하는 방법
문자열의 HmacSHA256 서명을 php로 만들 수 있는 방법이 있습니까?
용도:
$sig = hash_hmac('sha256', $string, $secret);
어디에$secret
당신의 열쇠입니다.
이 기능이 도움이 될 수 있습니다.
HMAC 메서드를 사용하여 키가 있는 해시 값 생성
예를 들어, 코드의 다음 부분:
$hash = hash_hmac('sha256', 'hello, world!', 'mykey');
var_dump($hash);
다음과 같은 출력을 제공합니다.
string '07a932dd17adc59b49561f33980ec5254688a41f133b8a26e76c611073ade89b' (length=64)
그리고 사용할 수 있는 해싱 알고리즘 목록을 보려면 을 참조하십시오.
다음은 HMAC-SHA-256으로 PSP를 호출하기 전에 데이터 트랜잭션 서명(스위스 결제 솔루션)의 예입니다.
몇몇 개발자들에게 도움이 되기를 바랍니다.
$hmacKey = 30911337928580013;
$merchantId = 1100004624;
$amount = $total * 100;
$currency = 'EUR';
$refno = $orderId;
// HMAC Hex to byte
$secret = hex2bin("$hmacKey");
// Concat infos
$string = $merchantId . $amount. $currency . $refno;
// generate SIGN
$sign = bin2hex(hash_hmac('sha256', $string, $secret));
참고: 머천트 ID와 HMAC 키는 모두 여기에서 사용할 수 있는 Datatrans 설명서에 있습니다. https://admin.sandbox.datatrans.com/showcase/doc/Technical_Implementation_Guide.pdf
이게 길이야.laravel에서 hash_hmac을 생성하는 방법입니다.100% 효과가 있습니다.
$sig = hash_hmac('sha256', $request->getContent(), 'secret value' );
평판이 안좋아서 답변을 못드리지만 @Melomans way와 ZPider의 답변을 조합하면 사용만 가능합니다
$hash = hash_hmac('sha256', $string, $secret);
올바른 데이터 전송을 위해
데이터에 hash_hmach로 서명하면 됩니다. 다음 작업만 수행하면 됩니다.
- 비밀 키를 가져오세요.
- 암호 모드나 방법을 선택합니다. 예를 들어 sha1,sha256 등입니다.
- 암호화된 데이터를 원하는 대로 호출할 수 있는 변수를 만듭니다. 따라서 코드는 이렇게 나타납니다.
$signData= hash_hmac("sha256",$dataToBeSigned,$yourSecretKey);
언급URL : https://stackoverflow.com/questions/2707967/how-can-i-generate-a-hmacsha256-signature-of-a-string
반응형
'programing' 카테고리의 다른 글
PHP에서 PDO와 함께 사용할 MySQL 데이터베이스를 선택하려면 어떻게 해야 합니까? (0) | 2023.09.27 |
---|---|
기본 클래스에서 파생 클래스를 동적으로 만드는 방법 (0) | 2023.09.27 |
스택 오버플로우처럼 고객이 웹사이트에서 openid를 사용할 수 있도록 하려면 어떻게 해야 합니까? (0) | 2023.09.17 |
PowerShell에서 $Error를 삭제하는 방법은 무엇입니까? (0) | 2023.09.17 |
하는 를 지원하는 브라우저 하는 를 지원하는 브라우저 하는 를 지원하는 브라우저 ??? (0) | 2023.09.17 |