1

I'm trying to connect to an API and they only provide guides for python & Javascript. I'm trying to find the equivalent for php but coming up short.

For additional reference: https://docs.deribit.com/#authentication

I'm unable to get the proper signature in PHP.

Javascript:

var timestamp = Date.now(); var nonce = "abcd"; var data = ""; var signature = CryptoJS.HmacSHA256(`${timestamp}\n${nonce}\n${data}`, accessSecret).toString(); 

Python:

timestamp = round(datetime.now().timestamp() * 1000) nonce = "abcd" data = "" signature = hmac.new( bytes(clientSecret, "latin-1"), msg=bytes('{}\n{}\n{}'.format(timestamp, nonce, data), "latin-1"), digestmod=hashlib.sha256 ).hexdigest().lower() 

PHP: (*I don't know how to create the nonce)

$timestamp = number_format(microtime(true) * 1000, 0, '.', ''); $nonce = number_format(microtime(true) * 1000, 0, '.', ''); $data = ""; $key = $timestamp.$nonce.$data; $sign = hash_hmac('sha256',$key,$secret); $sign = bin2hex($sign); 
5
  • For PHP, $nonce = "abcd"; Commented Sep 9, 2021 at 3:15
  • @KenLee - this is just an example nonce they provide. Commented Sep 9, 2021 at 3:16
  • @KenLee docs.deribit.com/#authentication Commented Sep 9, 2021 at 3:16
  • Sure, you need to change the abcd to what you want. (I will give you an example shortly) Commented Sep 9, 2021 at 3:17
  • What exactly is not working? What have you tried to make it work? Commented Sep 9, 2021 at 11:18

1 Answer 1

1

For the random generation required 'a-z0-9', 8 characters you may please use chr and rand to do the job.

Hence try the following

<?php $x1= chr(rand(0,25)+97) ; $x2= chr(rand(0,9)+48) ; $x3= chr(rand(0,25)+97) ; $x4= chr(rand(0,9)+48) ; $x5= chr(rand(0,25)+97) ; $x6= chr(rand(0,9)+48) ; $x7= chr(rand(0,25)+97) ; $x8= chr(rand(0,9)+48) ; $nonce = $x1.$x2.$x3.$x4.$x5.$x6.$x7.$x8; ?> 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.