在PHP中生成加密密钥,可直接放入C++;解密代码 我试图建立一个应用程序,生成一个加密密钥,然后直接放在C++应用程序的代码中进行解密。 我很困惑,如何将PHP中的字符串转换成C++中使用的格式。
作为一个例子,我们来看看这个问题: dschulz的答案是如何得到字符串的在PHP中生成加密密钥,可直接放入C++;解密代码 我试图建立一个应用程序,生成一个加密密钥,然后直接放在C++应用程序的代码中进行解密。 我很困惑,如何将PHP中的字符串转换成C++中使用的格式。,php,c++,encryption,Php,C++,Encryption,作为一个例子,我们来看看这个问题: dschulz的答案是如何得到字符串的 annoying monkey 到 如何在PHP中实现这一点,从而以这种格式打印该行 我尝试过将字符串转换为十六进制并附加0x,但它不起作用,请提供任何帮助。这只是十六进制格式文本的ascii值(&F): 这只是十六进制格式文本的ascii值(&F): 使用此选项可转换字符串: <?php $var = "annoying monkey"; $hex = ''; for ($i=0; $i<strlen(
annoying monkey
到
如何在PHP中实现这一点,从而以这种格式打印该行
我尝试过将字符串转换为十六进制并附加0x,但它不起作用,请提供任何帮助。这只是十六进制格式文本的ascii值(&F):
这只是十六进制格式文本的ascii值(&F):
使用此选项可转换字符串:
<?php
$var = "annoying monkey";
$hex = '';
for ($i=0; $i<strlen($var); $i++){
$ord = ord($var[$i]);
$hexCode = dechex($ord);
$hex .= substr('0'.$hexCode, -2);
}
echo $hex; // 616e6e6f79696e67206d6f6e6b6579
你可以在这里看到:
为了得到你的最后一根弦
$string = 'uint32_t key['.count($parts).'] = {'. implode(',', $parts). '};';
echo $string;
// uint32_t key[4] = {0x6f6e6e61,0x676e6979,0x6e6f6d20,0x0079656b};
使用此选项可转换字符串:
<?php
$var = "annoying monkey";
$hex = '';
for ($i=0; $i<strlen($var); $i++){
$ord = ord($var[$i]);
$hexCode = dechex($ord);
$hex .= substr('0'.$hexCode, -2);
}
echo $hex; // 616e6e6f79696e67206d6f6e6b6579
你可以在这里看到:
为了得到你的最后一根弦
$string = 'uint32_t key['.count($parts).'] = {'. implode(',', $parts). '};';
echo $string;
// uint32_t key[4] = {0x6f6e6e61,0x676e6979,0x6e6f6d20,0x0079656b};
有点棘手,因为在原始php字符串中,它们都是“big-endian位顺序和big-endian字节顺序”,这里有一种转换它们的方法(尽管这种方法使用的cpu比需要的多,但肯定有一种更快的方法)
有点棘手,因为在原始php字符串中,它们都是“big-endian位顺序和big-endian字节顺序”,这里有一种转换它们的方法(尽管这种方法使用的cpu比需要的多,但肯定有一种更快的方法)
很棒的视觉表现!有我的+1;)伟大的视觉表现!有我的+1;)
$string = 'uint32_t key['.count($parts).'] = {'. implode(',', $parts). '};';
echo $string;
// uint32_t key[4] = {0x6f6e6e61,0x676e6979,0x6e6f6d20,0x0079656b};
uint32_t key[4] = {0x6f6e6e61, 0x676e6979, 0x6e6f6d5f, 0x0079656b};