我认为这是一个空操作。
$string = 'asdf';
print pack('A10', $string) . "|
会给你
asdf |
由于*意思是“采取尽可能多的,”从来就没有什么理由去垫。
恕我直言,你可以扔掉整条线。
Re。您的更新:
pack函数仍然没有任何用途,除了可能隐式地将所有非字符串参数转换为字符串。
下面是你将如何在Python中做到这一点。我冒昧地改变参数的顺序,所以我可以使用参数包装(这完全不像字符串包装;)。
import hmac, hashlib
def get_sign(key, *data):
msg = ''.join(str(item) for item in data)
h = hmac.new(key, msg, hashlib.sha256)
return h.hexdigest().upper()
PHP:
$ print getSIGN(1234, 456, "foo", '123.45', 'http://example.com', '[email protected]', 'blah');
7FA608240FA2DC04F15DB2CDB58C83F4ED6C28C5C5B4063C5A7605F9D69F170B
的Python:
In [12]: get_sign('blah', 1234, 456, "foo", '123.45',
'http://example.com', '[email protected]')
Out[12]: '7FA608240FA2DC04F15DB2CDB58C83F4ED6C28C5C5B4063C5A7605F9D69F170B'