日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

rodbc 连接oracle,在R中加密密码 – 使用RODBC连接到Oracle DB

發(fā)布時(shí)間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rodbc 连接oracle,在R中加密密码 – 使用RODBC连接到Oracle DB 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

編輯:以下功能現(xiàn)在可以在我的R包

keyringr中使用.Keyringr包也具有類(lèi)似的功能來(lái)訪問(wèn)Gnome Keyring和macOS Keychain.

如果您使用的是Windows,則可以使用PowerShell執(zhí)行此操作.請(qǐng)參閱下面的博文.

從本質(zhì)上講…

>確保你有enabled PowerShell execution.

>將以下文本保存到名為EncryptPassword.ps1的文件中:

# Create directory user profile if it doesn't already exist.

$passwordDir = "$($env:USERPROFILE)\DPAPI\passwords\$($env:computername)"

New-Item -ItemType Directory -Force -Path $passwordDir

# Prompt for password to encrypt

$account = Read-Host "Please enter a label for the text to encrypt. This will be how you refer to the password in R. eg. MYDB_MYUSER

$SecurePassword = Read-Host -AsSecureString "Enter password" | convertfrom-securestring | out-file "$($passwordDir)\$($account).txt"

# Check output and press any key to exit

Write-Host "Press any key to continue..."

$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

>執(zhí)行上面的腳本(右鍵單擊>使用PowerShell運(yùn)行),為密碼提供有意義的名稱(chēng),然后輸入密碼.您現(xiàn)在可以通過(guò)檢查%USERPROFILE%/ DPAPI / passwords / [PC NAME] / [PASSWORD IDENTIFIER.txt]中的文件來(lái)驗(yàn)證密碼是否已加密

>現(xiàn)在從R中運(yùn)行以下代碼(我將此函數(shù)保存在每個(gè)腳本開(kāi)頭的I source的R腳本中.

getEncryptedPassword

# if path not supplied, use %USER_PROFILE%\DPAPI\passwords\computername\credential_label.txt as default

if (missing(credential_path)) {

credential_path

}

# construct command

command

# execute powershell and return command

return(system(command, intern=TRUE))

}

>現(xiàn)在,當(dāng)您需要在R中提供密碼時(shí),可以運(yùn)行以下命令,而不是硬編碼/提示輸入密碼:

getEncryptedPassword("[PASSWORD IDENTIFIER]")

例如,而不是運(yùn)行ROracle命令:

dbConnect(driver, "MYUSER", "MY PASSWORD", dbname="MYDB")

你可以改為運(yùn)行它(我在步驟3中提供的標(biāo)識(shí)符是“MYUSER_MYDB”:

dbConnect(driver, "MYUSER", getEncryptedPassword("MYUSER_MYDB"), dbname="MYDB")

>您可以根據(jù)需要重復(fù)步驟3以獲取盡可能多的密碼,并在步驟5中使用正確的標(biāo)識(shí)符進(jìn)行呼叫.

總結(jié)

以上是生活随笔為你收集整理的rodbc 连接oracle,在R中加密密码 – 使用RODBC连接到Oracle DB的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。