es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Guardar y descifrar archivos encriptados utilizando el paquete R encryptr.

Tengo una aplicación brillante donde quiero almacenar los datos de los usuarios en el servidor y quiero encriptarlos antes de almacenarlos. Me gustaría usar el paquete encryptr para esto, pero hasta ahora no puedo hacer que mi solución funcione correctamente. Hasta ahora, lo que he logrado es escribir los datos como un archivo RDS, luego encriptarlos y eliminar la copia sin encriptar. Sin embargo, idealmente me gustaría solo almacenar el archivo encriptado. Sin embargo, cuando intento desencriptarlo nuevamente, el archivo no cambia en absoluto.

Enfoque con almacenamiento del archivo primero (funciona)

datos

data <- mtcars

guardar archivo

saveRDS(data,”Example.rds”)

claves

genkeys()

encriptar

encrypt_file(“Example.rds”)

eliminar copia sin encriptar

file.remove(“Example.rds”)

desencriptar archivo

data_decrypted <- decrypt_file(“Example.rds.encryptr.bin”)

Lo que me gustaría hacer en su lugar es algo como esto

Enfoque con solo almacenamiento del archivo encriptado (no se puede desencriptar nuevamente)

datos

data <- mtcars

claves

genkeys()

encriptar datos

data <- encrypt(colnames(data))

guardar datos encriptados

saveRDS(data,”EncryptedData.rds”)

limpiar wd

rm(data)

cargar datos encriptados

EncryptedData <- readRDS(“EncryptedData.rds.encryptr.bin”)

desencriptar datos

data_decrypted <- decrypt(colnames(EncryptedData))

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que en el segundo enfoque, el cifrado solo se aplica a los nombres de columna del objeto data, en lugar de los datos reales. Para cifrar correctamente los datos y almacenar solo la versión cifrada, se debe utilizar la función encrypt_file.

    Aquí tienes un ejemplo actualizado:

    “`{r}

    datos

    data <- mtcars

    guardar archivo

    saveRDS(data, “Ejemplo.rds”)

    claves

    genkeys()

    cifrar archivo

    encrypt_file(“Ejemplo.rds”)

    eliminar copia sin cifrar

    file.remove(“Ejemplo.rds”)

    cargar datos cifrados

    encrypted_data <- readRDS(“Ejemplo.rds.encryptr.bin”)

    descifrar archivo

    data_decrypted <- decrypt_file(“Ejemplo.rds.encryptr.bin”)
    “`

    Esto debería cifrar correctamente los datos y almacenar solo la versión cifrada, la cual luego puede descifrarse utilizando decrypt_file.

Comments are closed.