View source: R/encrypt_api_key.R
encrypt_api_key | R Documentation |
Provide easy interface to encrypt the api key. In order to use function simply provide a string with an API key. In addition provide the path to the .ssh folder and names of the private and public keys
encrypt_api_key(
api_key,
enc_name = "api_key.enc.rds",
path_ssh = "path_ssh",
file_rsa = "id_api",
file_rsa_pub = "id_api.pub"
)
api_key |
String with API key |
enc_name |
String with a name of the file with encrypted key. Default name is 'api_key.enc.rds' |
path_ssh |
String with path to the file with rsa keys. Same place will be used to store encrypted data |
file_rsa |
String with a name of the file with a private key. Default name is 'id_api' |
file_rsa_pub |
String with a name of the file with a public key. Default name is 'id_api.pub' |
Make sure to clean the history of the R session
Writes a file with encrypted key
for more info on how to use RSA cryptography in R check my course on Udemy
library(openssl)
library(magrittr)
library(readr)
path_ssh <- normalizePath(tempdir(),winslash = "/")
rsa_keygen() %>% write_pem(path = file.path(path_ssh, 'id_api'))
# extract and write your public key
read_key(file = file.path(path_ssh, 'id_api'), password = "") %>%
`[[`("pubkey") %>% write_pem(path = file.path(path_ssh, 'id_api.pub'))
path_private_key <- file.path(path_ssh, "id_api")
path_public_key <- file.path(path_ssh, "id_api.pub")
#encrypting string 'my_key'...
encrypt_api_key(api_key = 'my_key', enc_name = 'api_key.enc.rds',path_ssh = path_ssh)
out <- read_rds(file.path(path_ssh, "api_key.enc.rds"))
# decrypting the password using public data list and private key
api_key <- decrypt_envelope(out$data,
out$iv,
out$session,
path_private_key, password = "") %>%
unserialize()
# outcome of the encryption will be a string 'my_key'
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.