由于 EU-GDPR,如何 protect/encrypt RData 文件中的 R 对象
How to protect/encrypt R objects in RData files due to EU-GDPR
我想用强加密算法保护我的 RData
文件的内容
因为它们可能包含敏感的个人数据,这些数据不得
因(法律)EU-GDPR 要求而披露。
我如何在 R 中执行此操作?
我想避免在创建文件后对 RData
文件进行第二次手动加密,以尽量减少忘记或忽略任何 RData
文件的风险。
在这种情况下,我正在与 Windows 合作...
library(openssl)
x <- serialize(list(1,2,3), NULL)
passphrase <- charToRaw("This is super secret")
key <- sha256(passphrase)
encrypted_x <- aes_cbc_encrypt(x, key = key)
saveRDS(encrypted_x, "secret-x.rds")
encrypted_y <- readRDS("secret-x.rds")
y <- unserialize(aes_cbc_decrypt(encrypted_y, key = key))
你需要处理秘密管理(即密钥),但这个通用的习惯用法应该有效(稍微更防弹)。
我知道已经很晚了,但请查看这个包 endecrypt
安装:
devtools::install_github("RevanthNemani\endecrypt")
使用以下函数进行列加密:
airquality <- EncryptDf(x = airquality, pub.key = pubkey, encryption.type = "aes256")
列解密:
airquality <- DecryptDf(x = airquality, prv.key = prvkey, encryption.type = "aes256")
检查这个 Github page
请记住生成您的密钥并保存以供首次使用。在需要时加载密钥并将密钥对象提供给函数。
例如
SaveGenKey(bits = 2048,
private.key.path = "Encription/private.pem",
public.key.path = "Encription/public.pem")
# Load keys already stored using this function
prvkey <- LoadKey(key.path = "Encription/private.pem", Private = T)
它非常易于使用,您的数据帧可以存储在数据库或 Rdata 文件中。
我想用强加密算法保护我的 RData
文件的内容
因为它们可能包含敏感的个人数据,这些数据不得
因(法律)EU-GDPR 要求而披露。
我如何在 R 中执行此操作?
我想避免在创建文件后对 RData
文件进行第二次手动加密,以尽量减少忘记或忽略任何 RData
文件的风险。
在这种情况下,我正在与 Windows 合作...
library(openssl)
x <- serialize(list(1,2,3), NULL)
passphrase <- charToRaw("This is super secret")
key <- sha256(passphrase)
encrypted_x <- aes_cbc_encrypt(x, key = key)
saveRDS(encrypted_x, "secret-x.rds")
encrypted_y <- readRDS("secret-x.rds")
y <- unserialize(aes_cbc_decrypt(encrypted_y, key = key))
你需要处理秘密管理(即密钥),但这个通用的习惯用法应该有效(稍微更防弹)。
我知道已经很晚了,但请查看这个包 endecrypt
安装:
devtools::install_github("RevanthNemani\endecrypt")
使用以下函数进行列加密:
airquality <- EncryptDf(x = airquality, pub.key = pubkey, encryption.type = "aes256")
列解密:
airquality <- DecryptDf(x = airquality, prv.key = prvkey, encryption.type = "aes256")
检查这个 Github page
请记住生成您的密钥并保存以供首次使用。在需要时加载密钥并将密钥对象提供给函数。
例如
SaveGenKey(bits = 2048,
private.key.path = "Encription/private.pem",
public.key.path = "Encription/public.pem")
# Load keys already stored using this function
prvkey <- LoadKey(key.path = "Encription/private.pem", Private = T)
它非常易于使用,您的数据帧可以存储在数据库或 Rdata 文件中。