tl; dr шифруется открытым ключом. Храните свой закрытый ключ в безопасности.
К сожалению, эти методы плохо названы. privateEncrypt
должен называться как sign
, а publicDecrypt
должен называться verify
.
При использовании шифрования с открытым ключом (также известного как асимметричное шифрование) один ключ может использоваться для записи шифра, а другой ключ может отменить эту операцию. Ваш открытый ключ потенциально известен всем, а ваш закрытый ключ является секретным.
Если вы хотите сохранить что-то в секрете, кроме как от владельца определенного ключа, вы хотите зашифровать сообщение с помощью их открытого ключа. Так что, если Алиса захочет получать зашифрованные сообщения, она поделится своим открытым ключом A_pub
и своим секретным ключом A_priv
, она будет хранить при себе. Вы зашифруете свое сообщение crypto.publicEncrypt(A_pub, buffer)
. Затем она расшифрует это сообщение с помощью crypto.privateDecrypt(A_priv, buffer)
.
Выполнение этого другим способом называется цифровой подписью .