逆向開發 2 雜湊加密 base64加密

2021-09-09 05:58:57 字數 1582 閱讀 6097

雜湊(雜湊)函式md5 sha1/256/512 hmac

hash的特點:

1.演算法是公開的

2.對相同資料運算,得到的結果是一樣的

3.對不同資料運算,如md5得到的結果是128位,32個字元的十六進製制表示,沒法逆運算

md5加密的特點:

不可逆運算

對不同的資料加密的結果是定長的32位字元(不管檔案多大都一樣)

對相同的資料加密,得到的結果是一樣的(也就是複製)。

抗修改性 : 資訊「指紋」,對原資料進行任何改動,哪怕只修改乙個位元組,所得到的 md5 值都有很大區別.

弱抗碰撞 : 已知原資料和其 md5 值,想找到乙個具有相同 md5 值的資料(即偽造資料)是非常困難的.

強抗碰撞: 想找到兩個不同資料,使他們具有相同的 md5 值,是非常困難的

md5 應用:

一致性驗證:md5將整個檔案當做乙個大文字資訊,通過不可逆的字串變換演算法,產生乙個唯一的md5資訊摘要,就像每個人都有自己獨一無二的指紋,md5對任何檔案產生乙個獨一無二的數字指紋。

安全雜湊演算法(secure hash algorithm)主要適用於數字簽名標準(digital signature standard dss)裡面定義的數字簽名演算法(digital signature algorithm dsa)。對於長度小於2^64位的訊息,sha1會產生乙個160位的訊息摘要。當接收到訊息的時候,這個訊息摘要可以用來驗證資料的完整性。在傳輸的過程中,資料很可能會發生變化,那麼這時候就會產生不同的訊息摘要。當讓除了sha1還有sha256以及sha512等。

1.base64說明

描述:base64可以成為密碼學的基石,非常重要。

特點:可以將任意的二進位制資料進行base64編碼

65字元:a~z a~z 0~9 + / =

對檔案進行base64編碼後檔案資料的變化:編碼後的資料~=編碼前資料的4/3,會大1/3左右。

2.命令列進行base64編碼和解碼

編碼:base64 123.png -o 123.txt

解碼:base64 123.txt -o test.png -d

2.base64編碼原理

1)將所有字元轉化為ascii碼;

2)將ascii碼轉化為8位二進位制;

3)將二進位制3個歸成一組(不足3個在後邊補0)共24位,再拆分成4組,每組6位;

4)統一在6位二進位制前補兩個0湊足8位;

5)將補0後的二進位制轉為十進位制;

6)從base64編碼表獲取十進位制對應的base64編碼;

處理過程說明:

a.轉換的時候,將三個byte的資料,先後放入乙個24bit的緩衝區中,先來的byte佔高位。

b.資料不足3byte的話,於緩衝區中剩下的bit用0補足。然後,每次取出6個bit,按照其值選擇查表選擇對應的字元作為編碼後的輸出。

c.不斷進行,直到全部輸入資料轉換完成。

d.如果最後剩下兩個輸入資料,在編碼結果後加1個「=」;

e.如果最後剩下乙個輸入資料,編碼結果後加2個「=」;

f.如果沒有剩下任何資料,就什麼都不要加,這樣才可以保證資料還原的正確性。

Base64加密解密

public class base64 對應asicc字元的位置 public static string base64encode string str c2 str i if i len c3 str i out base64encodechars c1 2 out base64encodech...

base64加密 例子

12349 50 51 31 32 33 00110001 00110010 00110011 001100 010011 001000 110011 00001100 00010011 00001000 00110011 12 19 8 51 mtiz base64編碼說明 base64編碼要求把...

Base64 加密 解密

1 原理 轉碼過程例子 3 8 4 6 記憶體1個字元佔8位 轉前 s 1 3 先轉成ascii 對應 115 49 51 2進製 01110011 00110001 00110011 6個一組 4組 011100110011000100110011 然後才有後面的 011100 110011 00...