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

二進制加密

發布時間: 2023-01-09 00:46:01

Ⅰ 一段二進制數據怎樣判斷其是否加密過,有沒有好的方法

首先,Base64算不上是一種加密演算法
Base64是網路上最常見的用於傳輸8Bit位元組代碼的編碼方式之一,它的目的是用ASCII中定義的可見字元去表示任意的二進制數據。之所以要這樣做,是因為計算機中很多數據是只能通過可見字元去傳輸的(比如我們的網站網址,比如一些面向字元的網路協議如SMTP等),但是這些情景有時由需要去傳輸二進制數據。基於這樣的需要,誕生了Base64.
簡單來講,Base64就是用下列總計64個字元:
A-Z
a-z
0-9
+
/
去表示二進制數據。二進制數據以位元組為組,一個位元組8bit存在256個狀態,而一個Base64字元只有64個狀態。機智的人們於是規定,用每4個Base64字元去表示3個二進制位元組,因為:
64 * 64 * 64 * 64 = 256 * 256 * 256
因此,Base64字元串的長度必然是4的整數倍。此外,由於二進制的位元組數不一定是3的整數倍,所以Base64字元串在結尾是可能有空的。這些空的狀態,Base64引入第65個字元去表示:
=
這也是為什麼Base64很多都是以=或==結尾的。但是注意,也存在不以=或==結尾的Base64,只要編碼的二進制位元組數恰好被3給整除。

Ⅱ 2進制的密碼怎麼破解

老大!我是計算機專業!二進制密碼。。。很難破解二進制密碼貌似需要用二進制來編程!!!!!!!能使用二進制來進行簡單的加減法已經是很厲害的咯,要使用二進制來編程就是要用二進制來做高等數學題目,這種人少之又少,是頂尖的程序員!!!IE!不是二進制密碼,你要說的是什麼密碼?

Ⅲ 128位二進制密碼是什麼

說-128到底是10000000還是11111111,這不用說當然是10000000(2的7次方等128嘛)
除2取余倒序排列,推出128=10000000,,-128的二進制是128的二進製取反加1,所以-128的二進制為10000000。(這樣的話128和-128豈不是一個數了嗎)
計算機里這個的范圍應該是-127-128(沒有-128的)

希望採納,繼續採納!

Ⅳ 二進制加密解密

簡單的異或加密,自己不寫是損失
==========
#include <cstdio>
using namespace std;
void binByte(char *bin, unsigned char b){
char i=7;
while(b>0){
bin[i]=(b&1)+'0';
b>>=1;
i--;
}

while(i>=0){
bin[i--]='0';
}

}
int main()
{
char *src="NCTV";
char bin[9]={0};
unsigned char *p=(unsigned char*)src;
unsigned char pwd=0x59;//1011001
unsigned char code;
while(*p!='\0'){
code=*p^pwd;
binByte(bin,*p);
printf("%c %u %s 加密成 %u ",*p,*p,bin,code);
binByte(bin,code);
printf("%s 解密成",bin);
code^=pwd;
binByte(bin,code);
printf(" %c %u %s",code,code,bin);
printf("\n");
p++;
}
return 0;
}
==============
輸出:
N 78 01001110 加密成 23 00010111 解密成 N 78 01001110
C 67 01000011 加密成 26 00011010 解密成 C 67 01000011
T 84 01010100 加密成 13 00001101 解密成 T 84 01010100
V 86 01010110 加密成 15 00001111 解密成 V 86 01010110
========

Ⅳ Unity文件二進制加密

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

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

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

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

Ⅶ 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的「密鑰鏈」。

Ⅷ C++ XOR 二進制加密解密文件。求求誰幫我改下

數學中的概念在語言中的描述方式,叫運算符。
對於C++來說。
取非:就是用感嘆號「!」。意思就是如果運算符後的結果為true的話,取非就是false;反之亦然。
相與:就是「&&」。意思即是兩個操作數同時為true的時候,相與才為ture,否則就為false;
相或:就是「||」。意思就是兩個操作數只要有一個為false,則整個結果就為false,否則為true;
異或:「^」。意思就是兩個操作數有一個為ture,則整個結果為true,否則為false;
另外,虛機團上產品團購,超級便宜

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

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

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

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

熱點內容
網閘如何配置安全 發布:2025-08-21 19:28:28 瀏覽:441
怎麼遠程管理伺服器 發布:2025-08-21 19:25:14 瀏覽:553
小米攝影頭如何存貯伺服器 發布:2025-08-21 19:10:50 瀏覽:621
伺服器網路慢怎麼辦 發布:2025-08-21 19:10:41 瀏覽:815
linux設置域名 發布:2025-08-21 18:59:33 瀏覽:119
55you腳本 發布:2025-08-21 18:58:10 瀏覽:373
本機伺服器監聽ip 發布:2025-08-21 18:49:26 瀏覽:577
雲腳本解除 發布:2025-08-21 18:49:22 瀏覽:603
php加密代碼破解 發布:2025-08-21 18:49:21 瀏覽:74
vivo軟體加密 發布:2025-08-21 18:39:53 瀏覽:237