我知道CryptProtectData函數使用windows用戶的密碼來隱藏數據,當我登錄到crypter用戶時,我可以使用CryptUnprotectData函數對它進行解密,如何僅使用密碼解密數據並且不能登錄用戶?如何解密由CryptProtectData函數加密的數據?
2
A
回答
1
CryptProtectData使用加密算法從環境變量(如當前機器ID和用戶憑證)派生出其密鑰。這也意味着你在大多數情況下需要成爲加密用戶才能解密。
然而,有一個小警告,你可以繞過用戶憑證進入密鑰的組成;但遺憾的是你可以做的最好的事情是加密一些可以被任何用戶加密的東西同一臺機器。
作爲呈現here,可以設置dwFlags中爲「CRYPTPROTECT_LOCAL_MACHINE」(dwFlags中被枚舉,則可以簡單地將其設置爲UINT 0)。 當你在加密的東西上調用CryptUnprotectData時,確保也將dwFlags設置爲uint(0),並且這兩個函數將完全對稱並且彼此協作。我親自嘗試過這一點,可以證明它有效。
是的,這整個需要相同的機器系統變得非常煩人,但它是迄今爲止最安全的加密方式,並確保世界上沒有其他計算機可以解密它。
希望這會有幫助, 納什灣。
0
CryptProtectData可以使用CRYPTPROTECT_LOCAL_MACHINE標誌,但這意味着任何用戶都會解密。使用CRYPTPROTECT_LOCAL_MACHINE基本上不會保護用戶級別的任何內容,它只是在機器級別保護數據(即使如此,具有漫遊配置文件的用戶也可以解密)。 如果您需要使用密碼保護某些內容,請考慮使用CryptGenKey和CryptEncrypt函數(提供在頁面底部的樣本用於加密和解密文件)。
相關問題
- 1. 解密數據從數據庫表加密的CryptProtectData在VB.net
- 2. 加密/解密數據流?
- 3. 加密 - 解密,數據庫
- 4. php解密加密數據
- 5. 加密/解密數據到數據庫
- 6. 如何加密/解密SQLite數據庫中的數據?
- 7. 用密鑰加密和解密數據
- 8. 如何解密知道密鑰加密的XBEE S1數據包?
- 9. 如何在數據塊中加密/解密數據?
- 10. 基本加密()和解密()函數
- 11. 尋找加密/解密函數
- 12. 加密和解密OSX中的數據
- 13. 解密使用FormsAuthentication.Encrypt加密的數據
- 14. 解密AES128加密的數據
- 15. node.js:加密需要解密的數據?
- 16. 如何更改加密密鑰並仍能解密舊數據?
- 17. 解密函數
- 18. 解密函數
- 19. 如何加密和解密整數?
- 20. Python - 用於已知解密函數的Javascript加密函數
- 21. 如何使用數據庫主密鑰(DMK)加密/解密數據?
- 22. 加密的加密數據
- 23. AES加密和解密數據
- 24. 有效加密/解密數據列表
- 25. 數據庫加密 - Javascript解密
- 26. 加密和解密數據到文件
- 27. AES加密和解密數據丟失
- 28. 解密加密DUKPT跟蹤數據
- 29. 未能解密加密數據盧阿
- 30. PHP數據加密和解密
pssh,所以程序所要做的就是在用戶的上下文中運行,它將能夠解密給定散列的密碼? – pythonian29033