我不是專家,但我有幾個建議,
(「用戶」被認爲是男性這裏)
在Windows中,當用戶登錄時,他將所有操縱的權利文件或文件夾屬於他。
但是,如果他試圖操作屬於其他用戶的文件或文件夾,則不允許他這樣做。所以,他不能操縱其他用戶的文件。
如果用戶是管理員,他將擁有操縱文件的所有權限。
在你的情況下,我相信用戶不是管理員。
所以,我建議給你:
創建該應用程序的用戶,說鮑勃(Bob是不是誰去使用這個應用程序的用戶)。
然後,您創建一個文件夾來存儲您的文件,並授予所有權限只有鮑勃(和管理員)。
對於所有其他人,沒有權限對文件夾執行任何操作。
您的應用程序必須由管理員安裝。
當您開始時,您的應用程序會向當前用戶詢問Bob的密碼。
如果密碼正確,
使用您的應用程序允許當前用戶具有完全訪問文件夾權限。然後應用程序可以按照你的意願工作
如果用戶退出應用程序,
刪除當前用戶的所有權限,以便在退出此應用程序後,其他人無法訪問該內容。
但管理員仍然可以訪問此內容。
這與Linux用戶管理類似。
當你得到一個shell時,你可以在完成工作時使用su username
來更改用戶,並且他退出shell後,其他人就不能使用這些文件。但root用戶可以在Linux中做任何事情。
但是有一個問題。
管理員可以獲得完整的內容和訪問權限,因爲他可以修改權限。
要禁止此操作,請通過使用任何技術和使用密碼進行壓縮來保存文件。該密碼只有使用它的用戶才知道。在將文件保存到文件夾之前,請使用密碼對其進行壓縮。在使用該文件之前,使用密碼解壓縮它。
如果壓縮密碼與用戶密碼相同,則出現問題。
管理員可以重置用戶密碼,並打開他的帳戶。
爲防止出現這種情況,您可以使用以下技術:
使用zip密碼作爲用戶密碼的反向,以便如果他的密碼是1234,則壓縮密碼是4321,或者使用用戶密碼的哈希值作爲壓縮密碼。
如果zip密碼是散列值,如MD5散列或SHA-1,則由於密碼長度的原因,對zip文件的暴力破解將不起作用。
我不知道這是否是一個工作解決方案或者如果這可以實施或不。
但是,如果你認爲這裏有一些好的想法,你可以從中得到一些想法。
打算保護用戶的數據還是提供靜態安全(如EFS)? –
我需要只能由應用程序讀取的數據。當應用程序沒有運行時,即使對運行該帳戶的所有者,機器的管理員等等,數據也應該是不可訪問的。實際的加密密鑰將被從本地機器中扣除,當它被應用程序檢索時開始,並在退出時被遺忘。 –