使用場景是:先通過工具或者c#代碼對指定檔案加密,然后能通過自己的管理軟體或者C#代碼打開此檔案。不能以其他形式或單獨執行此加密后的檔案。
之前沒有做個這方面,不知道有什么解決方案,請大神們給點意見
uj5u.com熱心網友回復:
任何檔案都可以轉換成二進制流,可以先將二進制流進行加密后存盤到檔案里.解密的時候先將檔案里的二進制流讀取出來,然后再解密.uj5u.com熱心網友回復:
對檔案加密,又通過自己的管理軟體解密,這個不是正常的加密需求吧。正常的加密,是你加密,用戶解密,用戶有自己的密鑰,解決的是傳輸被泄漏的問題。
你的需求就是限制別人打開自己的檔案,不管怎么加密,密鑰如果只有一個,始終很容易被人破解的,因為你最終必然還是要自己解密。
uj5u.com熱心網友回復:
自己研究一種加密方式,然后操作執行,最好是由用戶掌握密鑰的uj5u.com熱心網友回復:
有些東西我們不太清楚含義,比如“然后能通過自己的管理軟體或者C#代碼打開此檔案。不能以其他形式或單獨執行此加密后的檔案”,1.不能打開-------含義是什么?不能用記事本打開么,還是打開是亂碼
2.不能以其他形式或單獨執行此加密后的檔案--------執行什么?他沒加密以前是什么?是可執行檔案還是非可執行檔案
這東西,可大可小。你的含義決定你要深入的內容。
1.比如一個mdb后綴可以用Access打開,用其他的打不開(當然如果其他exe專門支持也能打開),所以這種就是常規開發,主要技術是:檔案格式,檔案關聯
2.比如他可以運行,那么他是PE檔案,只是有殼。而且這個殼只能用你的軟體解開,那么正常情況下是撰寫加密驅動(Minifilter)
所以我們不想亂帶節奏,所以你最好寫規定好含義,免得一下就跑到的“透明加密”(Minifilter,minihook)這類非常規開發上了
uj5u.com熱心網友回復:
檔案是用戶自己產生的嗎?我感覺關鍵不是加密,加密演算法已經有很多了。關鍵確實是“打開”,比如word檔案加密了,打開是可以office打開編輯另存為?還是只能在你自己的軟體里看?
uj5u.com熱心網友回復:
檔案就是普通的可執行檔案(就是理解為加殼),但通過我的平臺要繞過或者穿透殼和密碼,這樣對用戶其實是無感的,只是打開方式不是直接執行這個exe,而是通過我的平臺呼叫執行的。但如果單獨把這個檔案直接執行就需要密碼了。等于是平臺管理著這些執行檔案的打開執行權。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/264985.html
標籤:C#
