使用加密器 R-package 保存和解密加密文件
Saving and decrypting encrypted files with encryptr R-package
我有一个闪亮的应用程序,我想在服务器上存储用户数据,并希望在存储之前对其进行加密。我想为此使用 encryptr
包,但到目前为止我无法使我的解决方案正常工作。到目前为止我所管理的是将数据写入 rds 文件,然后对其进行加密并删除未加密的副本。然而,理想情况下,我只想存储加密文件。但是,当我再次尝试解密时,文件根本没有改变。
#### Approach with storing file first (works)
# data
data <- mtcars
# saving file
saveRDS(data,"Example.rds")
# keys
genkeys()
# encrypting
encrypt_file("Example.rds")
# deleting unencrypted copy
file.remove("Example.rds")
# unencrypting file
data_decrypted <- decrypt_file("Example.rds.encryptr.bin")
我想做的是这样的事情
#### Approach with storing only encrypted file (can't be decrypted again)
# data
data <- mtcars
# keys
genkeys()
# encrypting data
data <- encrypt(colnames(data))
# saving encrypted data
saveRDS(data,"EncryptedData.rds")
# clearing wd
rm(data)
# loading encrypted data
EncryptedData <- readRDS("EncryptedData.rds.encryptr.bin")
# decrypting data
data_decrypted <- decrypt(colnames(EncryptedData))
您的 encrypt/decrypt
调用中似乎缺少数据参数,而且您打开的文件名有误。尝试
data |>
encrypt(colnames(data)) |>
saveRDS("EncryptedData.rds")
rm(data)
EncryptedData <- readRDS("EncryptedData.rds")
data_decrypted <- EncryptedData |> decrypt(colnames(EncryptedData))
请注意,我们将数据传递给加密。如果你只是 运行 encrypt(colnames(data))
而没有将数据通过管道传输到函数中,你应该会得到一个关于“没有适用的方法......一个 class 字符的对象”的错误。我使用了管道运算符 |>
,但您也可以使用常规函数调用。然后,由于您正在写入“EncryptedData.rds”,请确保顶部打开该文件。 encrpyt()
函数更改您的数据。它对保存的文件名没有任何影响。如果您不使用 encrypt_file
,文件名将不会更改。
我有一个闪亮的应用程序,我想在服务器上存储用户数据,并希望在存储之前对其进行加密。我想为此使用 encryptr
包,但到目前为止我无法使我的解决方案正常工作。到目前为止我所管理的是将数据写入 rds 文件,然后对其进行加密并删除未加密的副本。然而,理想情况下,我只想存储加密文件。但是,当我再次尝试解密时,文件根本没有改变。
#### Approach with storing file first (works)
# data
data <- mtcars
# saving file
saveRDS(data,"Example.rds")
# keys
genkeys()
# encrypting
encrypt_file("Example.rds")
# deleting unencrypted copy
file.remove("Example.rds")
# unencrypting file
data_decrypted <- decrypt_file("Example.rds.encryptr.bin")
我想做的是这样的事情
#### Approach with storing only encrypted file (can't be decrypted again)
# data
data <- mtcars
# keys
genkeys()
# encrypting data
data <- encrypt(colnames(data))
# saving encrypted data
saveRDS(data,"EncryptedData.rds")
# clearing wd
rm(data)
# loading encrypted data
EncryptedData <- readRDS("EncryptedData.rds.encryptr.bin")
# decrypting data
data_decrypted <- decrypt(colnames(EncryptedData))
您的 encrypt/decrypt
调用中似乎缺少数据参数,而且您打开的文件名有误。尝试
data |>
encrypt(colnames(data)) |>
saveRDS("EncryptedData.rds")
rm(data)
EncryptedData <- readRDS("EncryptedData.rds")
data_decrypted <- EncryptedData |> decrypt(colnames(EncryptedData))
请注意,我们将数据传递给加密。如果你只是 运行 encrypt(colnames(data))
而没有将数据通过管道传输到函数中,你应该会得到一个关于“没有适用的方法......一个 class 字符的对象”的错误。我使用了管道运算符 |>
,但您也可以使用常规函数调用。然后,由于您正在写入“EncryptedData.rds”,请确保顶部打开该文件。 encrpyt()
函数更改您的数据。它对保存的文件名没有任何影响。如果您不使用 encrypt_file
,文件名将不会更改。