library(openssl)
# Encryption keys ####
test_folder <- tempfile(pattern = "folder_")
public_key_folder <- paste0(test_folder, "/public_key_folder")
private_key_folder <- paste0(test_folder, "/private_key_folder")
dir.create(test_folder)
dir.create(public_key_folder)
dir.create(private_key_folder)
encryption_keys <- EQUAL_encrypt_generate_keys(
public_key_folder = public_key_folder,
private_key_folder = private_key_folder,
key_name = "encryption_key.txt")
# Data ####
data <- lapply(1:3, function(x) {
mean = sample(1:100, 1, replace = FALSE)
sd = sample(1:100, 1, replace = FALSE)
rnorm(100, mean = mean, sd = sd)
})
data <- do.call(cbind.data.frame, data)
colnames(data) <- paste0("v", formatC(1:3, width = 6, flag = "0"))
test_file <- write.csv(data, paste0(tempdir(), "/test.csv"),
row.names = FALSE, na = "")
# Encrypt data ####
encrypted_data <- EQUAL_encrypt_file(file_name = paste0(tempdir(), "/test.csv"),
public_key_folder = public_key_folder, key_name = "encryption_key.txt")
data_storage_folder <- paste0(test_folder, "/data_storage_folder")
dir.create(data_storage_folder)
# Results ####
results <- EQUAL_decrypt_file(encrypted_data = encrypted_data,
private_key_folder = private_key_folder,
key = "encryption_key.txt",
data_storage_folder = data_storage_folder)
Run the code above in your browser using DataLab