有没有办法在php中创建字符串的HmacSHA256签名?
njthzxwz1#
使用hash_hmac:
hash_hmac
$sig = hash_hmac('sha256', $string, $secret);
其中$secret是您的密钥。
$secret
v9tzhpje2#
hash_hmac()函数可能会有所帮助,如下所示:使用HMAC方法生成带密钥的哈希值例如,以下代码部分:
hash_hmac()
$hash = hash_hmac('sha256', 'hello, world!', 'mykey'); var_dump($hash);
给出以下输出:
string '07a932dd17adc59b49561f33980ec5254688a41f133b8a26e76c611073ade89b' (length=64)
要获取可以使用的哈希算法列表,请参阅hash_algos()。
hash_algos()
bvjxkvbb3#
以下是使用HMAC-SHA-256调用PSP之前的datatrans交易签名(瑞士电子支付解决方案)示例。希望能对一些开发者有所帮助。
$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));
mfpqipee4#
这是方法。如何在laravel中生成hash_hmac。它将100%工作。
$sig = hash_hmac('sha256', $request->getContent(), 'secret value' );
kzipqqlq5#
我不能回答,由于缺乏声誉,但@Melomans的方式结合ZPiDER的答案导致只使用
$hash = hash_hmac('sha256', $string, $secret);
正确的Datatrans签名
kd3sttzy6#
好的,使用hash_hmach对数据进行签名,您需要做的就是执行以下操作1.获取您的密钥1.选择密码模式或方法示例sha1、sha256等1.创建一个变量来保存你的加密数据,你可以随意调用它。因此,代码如下所示
$signData= hash_hmac("sha256",$dataToBeSigned,$yourSecretKey);
6条答案
按热度按时间njthzxwz1#
使用
hash_hmac
:其中
$secret
是您的密钥。v9tzhpje2#
hash_hmac()
函数可能会有所帮助,如下所示:使用HMAC方法生成带密钥的哈希值
例如,以下代码部分:
给出以下输出:
要获取可以使用的哈希算法列表,请参阅
hash_algos()
。bvjxkvbb3#
以下是使用HMAC-SHA-256调用PSP之前的datatrans交易签名(瑞士电子支付解决方案)示例。
希望能对一些开发者有所帮助。
mfpqipee4#
这是方法。如何在laravel中生成hash_hmac。它将100%工作。
kzipqqlq5#
我不能回答,由于缺乏声誉,但@Melomans的方式结合ZPiDER的答案导致只使用
正确的Datatrans签名
kd3sttzy6#
好的,使用hash_hmach对数据进行签名,您需要做的就是执行以下操作
1.获取您的密钥
1.选择密码模式或方法示例sha1、sha256等
1.创建一个变量来保存你的加密数据,你可以随意调用它。因此,代码如下所示