Php新手在这里。试图在我的代码中使用固定密钥。我该怎么做呢?
以C为例,我这样做 -
unsigned char key[] = { 0x3f, 0xee, 0x40, 0x93, 0x2f, 0xca, 0x7b, 0xdf, 0x9f, 0x04, 0x23, 0x62, 0x9e, 0x33, 0x98, 0x4f };
我该怎么做这个php?我知道我还没有完全理解php中的字符串概念,但是在php中没有字节数组的概念,但php如何处理二进制数据?我的意思是特定的签名和无符号字符。
我猜我可能会以某种方式使用hex2bin。这是C数组中上述键的正确表示吗?
$key = hex2bin('3fee40932fca7bdf9f0423629e33984f');
编辑:在代码中表示固定密钥的标准做法是什么?
答案 0 :(得分:2)
你的C代码的PHP等价物是:
$key = array(
0x3f,
0xee,
0x40,
/* etc. */
);
PHP以智能方式完成任务:它为您处理数据类型。没有“unsigned char”这样的东西。只有一个整数,如果在其上使用正确的运算符,它很容易变成字符串或浮点数。无符号数的概念对PHP来说是陌生的。他们都签了名。如果您希望0x80
成为-128
,则需要寻找更多PHP-ish解决方案;)。