我在Rstudio的代碼裏面放了一個密碼,我只是想以某種方式使其不清楚,所以當我將代碼顯示給某人時,他們看不到密碼。有關如何做到這一點的任何建議? 感謝很多如何在R中隱藏/星號代碼的一部分?
3
A
回答
5
你應該做一個新的R腳本(我們稱之爲login_credentials.R)和存儲您的密碼有
username <- "username_here"
password <- "password_here"
一旦你保存,你就可以加載使用腳本源()
這將加載用戶名和密碼變量。
source(login_credentials.R)
> username
[1] "username_here"
> password
[1] "password_here"
login_function(username,password)
7
您可以在源文件中隱藏密碼。
您可以運行類似
dput(charToRaw("Password"))
# as.raw(c(0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64))
得到你的密碼的數字轉儲。然後,您可以在您的腳本
pwd <- as.raw(c(0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64))
login("username", rawToChar(pwd))
至少會使其減少人類可讀的和不會出現在文本值的環境瀏覽器中的變量(至少我認爲,我是不確定RStudio如何顯示原始數據)。
+1
我會非常警惕實施這個解決方案。有人可以很容易地調用'rawToChar(as.raw(c(0x50,0x61,0x73,0x73,0x77,0x6f,0x72,0x64)))'自己並看到你的密碼全屏顯示 – bibzzzz
1
稍微更安全的解決方案是存儲密碼的散列。這可以用函數digest
來實現:
> digest::digest("password") [1] "380796939c86c55d6aa8ea8c941f7652"
這實現MD5散列是單向密碼函數和原始密碼不能從該散列檢索,即沒有反函數。
然後,您將需要修改你的代碼,你輸入密碼,散列輸入密碼的一部分:
# Username and password part of code
username <- "username_here"
password_hash <- "380796939c86c55d6aa8ea8c941f7652"
...
# Password testing part of code
if (digest::digest(user_password_input) == password_hash){
"password_correct"
}else{
"password_incorrect"}
其中user_password_input
是包含輸入密碼的變量。散列密碼是安全的,因爲即使有人擁有散列密碼,他們也不能使用它來通過密碼驗證。如果他們確實輸入密碼的散列,它將被重新哈希,並且與password_hash
變量不同。
使用散列法是一種很好的做法,因爲您的實際密碼永遠不會存儲在代碼中,散列本身也沒有用處。
1
相關問題
- 1. 在Rmarkdown中隱藏部分R代碼
- 2. 如何在Xcode中使源代碼的某些部分「隱藏」(隱藏)?
- 3. 如何在代碼隱藏中使用WPF的星號大小值?
- 4. 如何從代碼隱藏中訪問web.config的httpRuntime部分?
- 5. Doxygen:在源代碼瀏覽器中隱藏源代碼的一部分
- 6. 如何在代碼隱藏
- 7. 如何在代碼隱藏
- 8. 加密/隱藏部分源代碼
- 9. 使用星號隱藏密碼字段
- 10. .htaccess隱藏分機號碼
- 11. 如何隱藏IE的一部分javascript
- 12. 在Applet中隱藏JSplitPane的一部分
- 13. 如何在Swift中隱藏此代碼
- 14. 隱藏UIBezierPath的一部分
- 15. 從代碼隱藏更改CSS3線性漸變的一部分
- 16. 如何隱藏代碼塊
- 17. 如何從代碼隱藏
- 18. 在MVC中呈現部分aspx頁面(帶有代碼隱藏)
- 19. 我如何隱藏一個javaScript代碼
- 20. 如何隱藏xcode中的源代碼?
- 21. 此代碼如何隱藏鏈接器中的符號?
- 22. 在代碼隱藏
- 23. 隱藏在代碼
- 24. 在代碼隱藏
- 25. 在代碼隱藏
- 26. 在代碼隱藏
- 27. 如何隱藏webpack中的代碼,但不隱藏node.js
- 28. 如何從代碼隱藏中讀取app.config中的自定義部分?
- 29. 如何在其他對象內部隱藏THREE.PlaneBufferGeometry的一部分?
- 30. Python:如何在屏幕上輸入密碼時「星號輸出」/隱藏密碼?
您是否在RStudio編輯器中顯示某人?我不認爲你可以在編輯器中隱藏你的密碼,但我可能是錯的。 –
@AlexA。我在編輯器中的代碼中輸入了密碼,所以如果我想將代碼顯示給某人,他們將看到密碼。我該如何在編輯器中使用密碼? – Mohammad
相關:http://www.magesblog.com/2014/07/simple-user-interface-in-r-to-get-login.html –