超级菜鸟在这里与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模块中。
提前感谢您的帮助!
答案 0 :(得分:1)
这些键只是二进制数据,在PHP中表示为字符串。它们不是不透明的对象,它们与所有绑定兼容(包括PHP和NodeJS)。
因此,您可以将它们保存到文件中(即使file_put_contents()
也会这样做),或者像保存/存储图像一样通过网络发送它们。