如何使用PHP

时间:2017-12-08 21:17:54

标签: php libsodium

超级菜鸟在这里与Libsodium所以我提前道歉。

我正在使用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模块中。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

因此,您可以将它们保存到文件中(即使file_put_contents()也会这样做),或者像保存/存储图像一样通过网络发送它们。