當前位置:首頁 » 密碼管理 » 文件二進制加密

文件二進制加密

發布時間: 2022-12-23 16:59:22

❶ Unity文件二進制加密

針對文件二進制數據進行異或編碼
Byte(原始) 異或 key(秘鑰) = Byte(加密後),Byte(加密後) 異或 key(秘鑰) = Byte(原始)

keys = byte[]
值是固定的
這種加密,特點是快速高效,但是容易被破解

❷ 二進制文件和文本文件到底有什麼不同

首先,可以說兩者是相同的。因為對於存儲在硬碟上的文件來說:都要用二進制的方式來存儲的。

從這個意義上說,兩者是相同的。

對二進制文件進行的加密、解密方法同樣適用於文本文件。

如果說兩者完全相同,那又不盡然。因為你用文本編輯器打開一個二進制文件的時候,多半會看到亂碼,而打開文本文件,就不會看到亂碼。這個實踐表明,這兩者是不同的。

那麼為什麼會這樣呢?因為文本文件是二進制文件的一個子集。不光文本文件,一切其它格式的文件都是二進制文件的子集。例如jpg,avi,ppt,exe等文件也都是二進制文件的子集。

二進制文件可以作為計算機中所有文件的統稱。

文件存儲的時候,位元組是最小的單元。一個位元組可以存儲0到255這256個數字。

某些數字在文本編輯器中,可以呈現為英文字元,例如:數字 97 就顯示為英文的小寫字母 a 。

文本文件只存儲可見的字元。在只有英文的Ascii碼文本文件中,每個字元的數值都不會大於 127 ,也不會等於127,除了數字 13 表示的回車,數字 10 表示的換行,數字9表示Tab縮進,其他的字元數值都大於32,數值32顯示為空格。

二進制文件中有許多不可見的字元。所謂的不可見是:在普通的文本編輯器中沒有定義該字元的顯示方式。

當使用GB2312的漢字編碼以後,用相鄰的兩個位元組表示一個漢字。原本不可見的字元變的可見了。這時候,文本文件中的位元組有許多高位置1,大致上使用了0到255中的每一個數。為什麼說大致呢?因為你去查GB2312的碼表,會發現每個區FF的位置都是空著的,也就是不使用數字255。這是為什麼呢?

數字255在某些情況下也是-1,這個數字可以看作文本文件的禁區。也就是說,二進制文件中,每個位元組都可以在0到255之間任意的挑選;文本文件的位元組則不能使用數字255。

GB2312碼表0的位置也是空出來的,這是為什麼呢?

答案是:為了能兼容傳統的c語言程序。

如果c語言程序在處理一個字元串,遇到了0,那麼程序認為字元串結束了。所以,文本文件的位元組中不能使用數字0,以避免程序處理到一半就終止了。

而數字255更是不能出現的,255在表示有符號的char時,就是-1,在c語言中定義為EOF(End Of File)。也就是說,某些傳統的c語言程序,例如getchar( )在返回-1的時候,程序員就認為該文件結束了。所以,這個數字不能出現在文本文件的內容中。

傳統意義上,文本文件有禁區,最初的0和最終的255,是文本文件的禁區。

所有不可見的Ascii碼也是禁區。

而二進制文件沒有任何約束。

各種對文本文件的編碼方式,都會盡量避免打破這個禁區。但在Unicode定義以後,這個禁區被打破了。Unicode定義了BOM,也就是在文本文件的開頭加入幾個不可見的位元組,來表示這個文件的編碼方式。

從這以後,文本文件中就可以存儲不可見的字元了,不再是那麼純粹的文本文件。UTF-8編碼的文件本來可以不使用BOM的,但微軟也為它設計了BOM,這是一個字元,編碼是(Unicode FEFF),轉化為UTF8形式以後是(EF BB BF)。

盡管打破了禁區,但只限定於文件開頭的兩三個位元組。

這可以看作一種黑客的解決問題方式,不優雅,也不美觀。因為黑客有辦法在文本文件中插入更多的不可見字元,普通人不知道如何操作。

有了 BOM以後,出現了位元組FF,這意味著數字255不再是禁區。雖然不顯示出來,但是它像一根針,插入文本文件的開頭。

但有了UTF-16編碼以後,禁區徹底打破了,文本文件的編碼如果按照UTF-16的方式存儲,除了開頭有BOM以外,所有不可見的ASCII碼和擴展Ascii碼都可以成為某個字元的一部分。也就是說,沒有任何禁區。文本文件中可以存儲任何數值的位元組。

文本文件可以在文本編輯器中顯示,二進制文件可以在二進制編輯器中顯示。沒有什麼東西不能顯示。

所以,如果再問文本文件和二進制文件的區別是什麼,答案就是:

沒有區別。

❸ flash 二進制加密 如何破解

XP系統EFS加密破解的一線希望

如果某個用戶把自己的登錄帳戶刪除,那麼其他用戶將無法訪問其EFS加密文件。更可惡的是,一旦公司里的某個用戶心懷怨氣,惡意加密了本屬於別的用戶的重要文件,將會導致嚴重問題。一般情況下,這些EFS加密文件已經被判了死刑,但是實際上只要滿足以下條件的話,我們還是可以在末日來臨之前打開逃生的天窗:
(1) 必須知道該被刪帳戶的密碼。
(2) 該被刪帳戶的配置文件必須存在。如果使用「本地用戶和組」管理單元刪除帳戶,則配置文件保留的機會很大,如果使用「用戶帳戶」控制面板刪除帳戶,則有一半機會保留配置文件。如果配置文件不幸被刪,則只能祈禱可以藉助Easy Recovery之類的數據恢復工具進行恢復。
可能有些朋友會覺得這兩個條件比較苛刻,此處賣個關子先……
EFS加密原理
大家知道,EFS加密實際上綜合了對稱加密和不對稱加密:
(1) 隨機生成一個文件加密密鑰(叫做FEK),用來加密和解密文件。
(2) 這個FEK會被當前帳戶的公鑰進行加密,加密後的FEK副本保存在文件$EFS屬性的DDF欄位里。
(3) 要想解密文件,首先必須用當前用戶的私鑰去解密FEK,然後用FEK去解密文件。
看到這里,似乎EFS的脈絡已經很清晰,其實不然,這樣還不足於確保EFS的安全性。系統還會對EFS添加兩層保護措施:
(1) Windows會用64位元組的主密鑰(Master Key)對私鑰進行加密,加密後的私鑰保存在以下文件夾
%UserProfile%\Application Data\Microsoft\Crypto\RSA\SID
提示 Windows系統里的各種私有密鑰,都用相應的主密鑰進行加密。Windows Vista的BitLocker加密,也用其主密鑰對FVEK(全卷加密密鑰)進行加密。
(2) 為了保護主密鑰,系統會對主密鑰本身進行加密(使用的密鑰由帳戶密碼派生而來),加密後的主密鑰保存在以下文件夾:
%UserProfile%\Application Data\Microsoft\Protect\SID
整個EFS加密的密鑰架構如圖1所示。
圖1
提示 EFS密鑰的結構部分,參考自《Windows Internals 4th》的第12章。
回到「任務描述」部分所述的兩個條件,現在我們應該明白原因了:
(1) 必須知道該被刪帳戶的密碼:沒有帳戶密碼,就無法解密主密鑰。因為其加密密鑰是由帳戶密碼派生而來的。
提示 難怪Windows XP和2000不同,管理員重設帳戶密碼,也不能解密EFS文件。
(2) 該被刪帳戶的配置文件必須存在:加密後的私鑰和主密鑰(還包括證書和公鑰),都保存在配置文件里,所以配置文件萬萬不可丟失,否則就會徹底「鬼子不能進村」。重裝系統後,原來的配置文件肯定被刪,這時候當然不可能恢復EFS文件。
可能有用戶會想,只需新建一個同名的用戶帳戶,然後把原來配置文件復制給新帳戶,不就可以解密EFS文件了?原因在於帳戶的SID,因為新建用戶的SID不可能和老帳戶一樣,所以常規方法是不可能奏效的。我們必須另闢蹊徑,讓系統再造一個完全一樣的SID!
恢復步驟
為了方便描述,這里假設被刪帳戶的用戶名為Admin,Windows安裝在C盤。
1.再造SID
注意 本方法取自「聲明」部分提到的那篇文章。
首先確認被刪帳戶的SID,這里可以進入以下文件夾:
C:\Documents and Settings\Admin\Application Data\Microsoft\Crypto\RSA
在其下應該有一個以該被刪帳戶的SID為名的文件夾,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID為1004)
現在我們要設法讓新建帳戶同樣具有1004的RID,這樣就能達到目的。
在Windows中,下一個新建帳戶所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項的F鍵值所確定的。F鍵值是二進制類型的數據,在偏移量0048處的四個位元組,定義下一個帳戶的RID。那麼也就是說,只需要修改0048處的四個位元組,就能達到目的(讓新建帳戶獲得1004的RID)
確認好以後,別忘記把Admin帳戶的配置文件轉移到別的地方!
(1) 默認情況下,只有system帳戶才有許可權訪問HKEY_LOCAL_MACHINE\SAM,這里在CMD命令提示符窗口,運行以下命令,以system帳戶身份打開注冊表編輯器:
pexec -i -d -s %windir%\regedit.exe
提示 可以在以下網站下載psexec:

(2) 定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項,雙擊打開右側的F鍵值。
(3) 這里要說明一下,Windows是以十六進制、而且以反轉形式保存下一個帳戶的RID。什麼意思呢?也就是說,如果是1004的RID,對應十六進制就是03EC,但是我們必須把它反轉過來變成EC03,再擴展為4個位元組,就是EC 03 00 00。
所以,我們應該把F鍵值的0048偏移量處,把其中四個位元組改為「EC 03 00 00」,如圖2所示。
圖2
(4) 重要:別忘了重啟計算機!
(5) 重啟以後,新建一個同名帳戶Admin,它的SID應該和以前是完全一樣。如果不相信的話,可以藉助GetSID或者PsGetSID等工具測試一下。
2.「破解」EFS
接下來的方法就非常簡單了,用新建的Admin帳戶身份登錄系統,隨便加密一個文件,然後注銷,用管理員帳戶登錄系統,把原來保留的配置文件復制到C:\Documents and Settings\Admin文件夾下。
再用Admin帳戶登錄系統,現在可以解密原來的EFS文件了。
疑難解答
1.如果已經重裝系統,那怎麼辦?
「聲明」部分提到的那篇文章里提到,如果還記得原來帳戶的密碼,並且配置文件沒有被刪除的話,還有希望。這時候可以藉助sysinternals的NEWSID工具把系統的計算機SID重設為原來的值,再用前面描述的方法構造所需的RID,這樣就可以獲得所需的帳戶SID。剩餘步驟完全一樣。

2.有用戶曾經遇到這樣的問題:登錄系統時收到提示說密碼過期,需要重設,重設密碼登錄後發現打開EFS文件。
KB890951提到這個問題。其解釋是因為在修改密碼時,系統還沒有載入配置文件(有點語焉不詳),原文如下:
This problem occurs because the user profile for the current user is not loaded correctly after you change the password.
配置文件和EFS有何相干?看完本文,大家應該知道,EFS的私鑰和主密鑰都是保存在配置文件里的。由於配置文件沒有載入,所以主密鑰的加密版本沒有得到更新(沒有跟上帳戶密碼的變化),導致主密鑰無法正確解密,從而無法解密私鑰和FEK。這就是問題的真正原因。
該KB提供了一個內部補丁,可以解決這個問題。KB890951的鏈接如下:

3.有關公鑰的問題
為了容易理解,筆者故意忽略了公鑰。公鑰保存也保存在帳戶的配置文件里:
%UserProfile%\Application Data\Microsoft\SystemCertificates\My\Certificates
在EFS恢復的操作中,必須確保公鑰也要復制到新帳戶的配置文件里。盡管看起來公鑰與EFS解密無關(它負責加密)。
原來,加密文件$EFS屬性的DDF欄位里除了有帳戶SID和加密的FEK副本外,還有公鑰的指紋信息(Public Key Thumbprint)和私鑰GUID信息(私鑰的某種散列值)。
系統在掃描加密文件$EFS屬性中的DDF欄位時,根據用戶配置文件里的公鑰中所包含的公鑰指紋和私鑰GUID信息,當然還有帳戶的SID,來判斷該帳戶是否具有對應的DDF欄位,從而判斷該用戶是否屬於合法的EFS文件擁有者。
所以公鑰也很重要。
當然公鑰是可以「偽造」的(可以偽造出所需的公鑰指紋和私鑰GUID),以欺騙EFS系統,具體方法可以參考國外的那篇原稿,此處不再贅述。
加強EFS的安全
由於EFS把所有的相關密鑰都保存在Windows分區,所以這可能給EFS帶來一定的安全隱患。目前有一些第三方工具號稱可以破解EFS,這些工具首先攻擊SAM配置單元文件,嘗試破解帳戶密碼,從而破解帳戶密碼→主密鑰的加密密鑰→主密鑰→EFS私鑰→FEK的「密鑰鏈」。

❹ 文件傳輸加密都有哪些方法呢

DES與AES的比較

自DES演算法公諸於世以來,學術界圍繞它的安全性等方面進行了研究並展開了激烈的爭論。在技術上,對DES的批評主要集中在以下幾個方面:

1、作為分組密碼,DES的加密單位僅有64位二進制,這對於數據傳輸來說太小,因為每個分組僅含8個字元,而且其中某些位還要用於奇偶校驗或其他通訊開銷。

2、DES的密鑰的位數太短,只有56比特,而且各次迭代中使用的密鑰是遞推產生的,這種相關必然降低密碼體制的安全性,在現有技術下用窮舉法尋找密鑰已趨於可行。

3、DES不能對抗差分和線性密碼分析。

4、DES用戶實際使用的密鑰長度為56bit,理論上最大加密強度為256。DES演算法要提高加密強度(例如增加密鑰長度),則系統開銷呈指數增長。除採用提高硬體功能和增加並行處理功能外,從演算法本身和軟體技術方面都無法提高DES演算法的加密強度。

採用DES與RSA相結合的應用,使它們的優缺點正好互補,即DES加密速度快,適合加密較長的報文,可用其加密明文;RSA加密速度慢,安全性好,應用於DES 密鑰的加密,可解決DES 密鑰分配的問題。

目前這種RSA和DES結合的方法已成為EMAIL保密通信標准。

❺ 簡單二進制加密的方法有哪些

一個簡單而專業的辦法是,你用DES加密,加密後,這句話就成了密文。
還有一個辦法,你自己隨便編一個128的亂序ASCII字元對應表,其實就是在程序中加個128位元組的常量數組,然後將你的那句話逐位元組的查表替換就可以生成密文了。

❻ 怎麼樣把一個文本文件加密成二進制文件

讀取文本文件內容存入2進制數組,對數組進行加密換算,然後再保存數組數據!

❼ 電腦上的個人重要文件如何加密保護

一、如果重要文件在個人電腦上

1、最簡單的保護把文件\文件夾隱藏起來:在該文件上右鍵——【屬性】——【隱藏】(勾選此項)

2、把文件\文件夾加密:在該文件上右鍵——【屬性】——【高級】——【加密內容以保護數據】(勾選)——切換到另一個帳戶時——該文件被保護,(這個作用不大,一般電腦都沒有2個帳戶)

3、防止文件誤修改\被刪——在該文件上右鍵——【屬性】——【安全】——【編輯】——選擇進入桌面時的用戶名——在下許可權下面——勾選【完全控制】

二、以上只是防止身邊不懂電腦的人,想提高保護程度還是下看

1、如果是wps\office之類的文檔——自身軟體都可以對文檔加密保護。(這個不用多說)

2、通過壓縮軟體對文件或文件夾保護——在文件\文件夾上——右鍵——【添加到壓縮文件】——【密碼】——輸入密碼——確定

三、以上用加密方法,破解密碼工具太多了,還是不安全,請下看。

1、藉助專業加密:專業軟體大部只對文件夾加密,所以先把文件放在文件夾下再加密比如下圖幾個軟體

這個簡單好用

上圖類軟體簡單好用,不容易被誤刪。

這個軟體可以設置加密強度

上圖類軟體2層密碼保護——登陸密碼和加密密碼——還可選擇密碼強度——還可防止外來U盤插入。

主要功能多

四:如果加密文件\文件夾比較多,不如對某一個磁碟加密保護

1、組策略隱藏分盤:運行—gpedit.msc打開本地組策略編輯器,依次展開「用戶配置-管理模板-Windows組件-文件資源管理器」,雙擊打開隱藏「我的電腦」中的這些指定的驅動器,如圖

2、注冊表隱藏分盤,打開路徑開始-運行-regedit,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\ 。

下面是一張隱藏數值例表(二進制):盤符:A B C D E F G H

對應數值如下:

01000000 02000000 04000000 08000000

10000000 20000000 40000000 80000000

五、上面方法可以隱藏磁碟達到保護文件的目的,但使用起來太麻煩,比如繼續添加隱藏文件,不可能設置來設置去的!同樣可以藉助專業軟體。

比如上圖軟體可以在E盤的基礎上虛建一個分盤F盤——兩個盤互不影響——兩個盤的剩餘空間互不影響!

六、當然也有人說可以保存在網上,你也可以另買一個移動硬碟——移動硬碟一般都送有加密軟體。不多說了到此為止!

❽ 如何用C語言對文件進行加密和解密急求......................

文件分為文本文件和二進制文件。加密方法也略有不同。
1、文本文件
加密的主要是文本的內容,最簡單的方法就是修改文檔的內容,比如1.txt中的文件內容:
abcd
只要給每一個字元+1,就可以實現加密。文件內容即會變為
bcde

2、二進制文件加密
二進制文件加密也就是對應用程序加密,需要理解可執行文件格式,比如Windows平台的Exe文件它是PE結構,Linux上的可執行文件是ELF結構,要對這樣的程序進行加密,實際上是開發一種叫做「殼」的程序,這種程序的開發,需要將扎實的底層基礎,同時也需要對軟體加密解密有細致的理解,比如流行的vmprotect、z殼以及早些年的upx殼、aspack等等。

3、無論哪種加密都牽涉到文件操作的問題,使用C語言進行文件操作時,極少使用C標准庫中的I/O函數,大多數使用操作系統提供的內存文件映射相關的API函數,有興趣,可以搜索相關的資料。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:678
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:251
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705