Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP导出Libsoidum密钥_Php_Libsodium - Fatal编程技术网

如何使用PHP导出Libsoidum密钥

如何使用PHP导出Libsoidum密钥,php,libsodium,Php,Libsodium,我和LibNasdium在这里玩得很开心,所以我提前道歉 我正在使用PHP并在PHP中完成这个示例 // On Alice's computer: $alice_box_kp = sodium_crypto_box_keypair(); $alice_sign_kp = sodium_crypto_sign_keypair(); // Split the key for the crypto_box API for ease of use $alice_box_secretkey = sod

我和LibNasdium在这里玩得很开心,所以我提前道歉

我正在使用PHP并在PHP中完成这个示例

// On Alice's computer:

$alice_box_kp = sodium_crypto_box_keypair();
$alice_sign_kp = sodium_crypto_sign_keypair();

// Split the key for the crypto_box API for ease of use
$alice_box_secretkey = sodium_crypto_box_secretkey($alice_box_kp);
$alice_box_publickey = sodium_crypto_box_publickey($alice_box_kp);

// Split the key for the crypto_sign API for ease of use
$alice_sign_secretkey = sodium_crypto_sign_secretkey($alice_sign_kp);
$alice_sign_publickey = sodium_crypto_sign_publickey($alice_sign_kp);

// On Bob's computer:

$bob_box_kp = sodium_crypto_box_keypair();
$bob_sign_kp = sodium_crypto_sign_keypair();

// Split the key for the crypto_box API for ease of use
$bob_box_secretkey = sodium_crypto_box_secretkey($bob_box_kp);
$bob_box_publickey = sodium_crypto_box_publickey($bob_box_kp);

// Split the key for the crypto_sign API for ease of use
$bob_sign_secretkey = sodium_crypto_sign_secretkey($bob_sign_kp);
$bob_sign_publickey = sodium_crypto_sign_publickey($bob_sign_kp);
如何将密钥转换为可以在带外交换的文件格式? 在翻转时,如何导入键或读取键

一个密钥位于linux服务器上,另一个密钥位于node.js模块中


提前感谢您的帮助

这些键只是二进制数据,在PHP中用字符串表示。它们不是不透明对象,并且与所有绑定(包括PHP和NodeJ)兼容


因此,您可以将它们保存到文件中(甚至
file\u put\u contents()
也可以),或者通过网络发送它们,就像保存/存储图像一样。

当然可以。这是二进制数据。它不应该是人类可读的。如果你真的想打印一些东西,你可以随时将它从/转换为十六进制或base64。谢谢,我通过你的评论找到了答案。我认为出现的乱码文本是不正确的,但如果它是二进制的,它是有意义的。