나는 암호로 보호 된 파일에서 R로 데이터베이스에 대한 키를 읽고 원료로 변환하기 위해 노력하고있어 탈출하지 않고 charToRaw에 파일에서 백 슬래시가 포함 된 문자열을 전달 :R은
는 가정하면 내 키는 \[email protected]\xErd\xD5b\x1bs
입니다.
rawkey1 <- charToRaw("\[email protected]\xErd\xD5b\x1bs")
> rawkey1
[1] 0b 40 0e 72 64 d5 62 1b 73
내가 .csv 파일이 저장 및 R에 다시 읽을 수 다음 charToRaw
기능에 직접 문자열로 키를 통과 할 때 내가 얻을로서 내 목표는 같은 원시 키를 얻는 것입니다 :
savemykey <- data.table(keyinbytes = "\[email protected]\xErd\xD5b\x1bs")
write.csv(savemykey, file = "My_key.csv")
mykey <- read.csv("My_key.csv", header = TRUE, stringsAsFactors = FALSE)
I는 원이 변환 할 수 있으며 원하는 결과 생성
: 직접 charToRaw
전달 함수로부터 생산
> rawkey2 = charToRaw(mykey$keyinbytes)
> rawkey2
[1] 0b 40 0e 72 64 d5 62 1b 73
원료 키 및 키가 들어있는 CSV 파일의 읽기와 동일합니다 :
> rawkey1 == rawkey2
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
지금까지 그렇게 좋았습니다. 유일한 문제는 키가 중요한 정보가 들어있는 데이터베이스의 키이므로 암호로 보호 된 파일에 저장하려고합니다.
나는이 일을 생각할 수있는 유일한 방법은 Microsoft Excel (excel.link 패키지로 다시 읽어 들이고 인수로 암호를 제공하는 것)이었습니다. 그러나 그것은 생성에 그들이 다시 읽을 때 백 슬래시 이스케이프로 해석됩니다 파일 .XLSX 것으로 보인다 이것은 원료로 문자에서 잘못된 변환 결과 :.
library(xlsx)
write.xlsx2(savemykey, file = "My_key.xlsx", append = FALSE)
그런 다음 나는 Microsoft Excel 파일을 열 할당 내가 처음 키를 사용하여이 결과를 비교하면
이library(excel.link)
mykey <- xl.read.file("My_key.xlsx", xl.sheet = 1, password = "mypassword")
# Re-running the conversion:
rawkey3 = charToRaw(mykey$keyinbytes)
> rawkey3
[1] 3f 40 3f 72 64 d5 62 3f 73
, 일치하지 않습니다 :
> rawkey3 == rawkey1
[1] FALSE TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE
암호 "mypassword"는, 그것을 저장하고 excel.link 패키지와 함께 다시 읽어
는 Microsoft Excel 파일에서 읽을 때 때문에, R은 그들에게 다음과로 대체 문자를 탈출, 탈출로 백 슬래시를 해석 한이되고, 아래 참조 '?': 나는 한 내용을
# Key as assigned object in R:
> savemykey$keyinbytes
[1] "\[email protected]\016rdÕb\033s"
# Key read in from Microsoft Excel file:
> mykey$keyinbytes
[1] "[email protected]?rdÕb?s"
을 바탕으로 지금까지 시도한 것처럼, 일반 텍스트 (.csv, .txt 또는 R 스크립트 및 소스에 직접 저장)로 저장할 수있는 파일 형식으로 키를 저장하면 키가 R로 다시 읽혀집니다. 백 슬래시를 올바르게 평가하고 올바른 바이트 패턴으로 변환합니다. 그러나 일반 텍스트 파일/.csv 또는 R 스크립트를 암호로 보호하는 방법을 찾지 못했습니다. R로 및 방법에있는 읽기 다시 읽을 때
키에서 백 슬래시의 평가를 보존 할 암호로 보호 일반 텍스트 형식의 파일의 방법을 찾을 :
내가하는 중 싶습니다 인수로 암호를 사용하거나;
백 슬래시를 이스케이프 처리하지 않고도 암호로 보호 된 Microsoft Excel 파일에서 키를 읽을 수있는 방법을 찾습니다.
이 작업을 수행하는 방법에 대한 아이디어는 많이 알려 드리겠습니다.
Windows 7 OS에서 RStudio 1.0.136과 함께 (3.3-R) R 3.3.2를 사용하고 있습니다. Microsoft Access 데이터베이스를 쿼리 할 때 32 비트 R을 호출해야하므로 Microsoft Office 프로그램이 32 비트 일 수 있다고 생각합니다 (관련성이있는 경우). –