1. 取鹽算法
取鹽 算法,也叫 摘要算法,是對數據進行一系列運算後,截取一部分關鍵值進行校驗。因此運算過程 不可逆,無法還原出加密前的 初始文本。
取鹽算法得到的結果長度一般是固定的,無論輸入的消息有多長,計算出來的消息摘要的長度總是固定的。一般地,只要輸入的文本不同,對其進行摘要以後產生的摘要消息也必不相同,但相同的文本輸入必會產生相同的輸出。
1.1. MD5 逆向特徵
- 字符串爲 16 進制,即數字英文組合,而且 英文最大是字母 f 。
- 位數爲 16、32。
- 搜索關鍵字:
-- 關鍵詞:md5
、MD5
-- 默認的 key 值:0123456789abcdef、0123456789ABCDEF
-- 原始MD5的魔法值(16進制):0x67452301、0xefcdab89、0x98badcfe、0x10325476
-- 原始MD5的魔法值(10進制):1732584193、271733879、1732584194、271733878
-
123456
計算結果值:
16 位,結果值 49 開頭。
-- 16位小寫計算結果:49ba59abbe56e057
-- 16位大寫計算結果:49BA59ABBE56E057
32 位,結果值 e10、E10 開頭。
-- 32位小寫計算結果:e10adc3949ba59abbe56e057f20f883e
-- 32位小寫計算結果:E10ADC3949BA59ABBE56E057F20F883E
注意:16位 的結果值是 32位 的結果值的一部分。
1.2. SHA 逆向特徵
- 字符串爲 16 進制,即數字英文組合,而且 英文最大是字母 f 。
- 位數爲 40、64、96、128 等,位數均是
8
的倍數。 -
123456
計算結果值:
SHA1:40 位:7c4a8d09ca3762af61e59520943dc26494f8941b
SHA256:64 位:8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
SHA384:96 位:0a989ebc4a77b56a6e2bb7b19d995d185ce44090c13e2984b7ecc6d446d4b61ea9991b76a4c2f04b1b4d244841449454
SHA512:128 位:
ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413
2. 可還原加密算法
特徵:
1、字符串爲 16 進制,即數字英文組合,而且 英文最大是字母f
。
2、字符串爲 base64 編碼形式,由數字0-9
、小寫字母a-z
、大寫字母A-Z
以及字符+
、_
、=
組成,且最後一個或最後兩個字符爲=
。通常而言 Base64 的識別特徵爲索引表,當我們能找到ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
這樣索引表,再經過簡單的分析基本就能判定是 Base64 編碼。
2.1. RSA 逆向特徵
RSA 是典型的 非對稱加密,擁有一個公鑰和一個私鑰。
其中:
-- 客戶端(瀏覽器)擁有公鑰,服務器同時擁有公鑰和私鑰。
-- 同一個明文可以生成不同的密文。
-- 必須先new JSEncrypt
加密對象,然後setPublicKey
。
- 加密後的數據長度不可能是
8
的倍數。 - 搜索關鍵詞:
new JSEncrypt
、setpublickey
、ABCDEFG
、abcdefg
。
2.2. AES 逆向特徵
AES 是 對稱加密 的一種。
- 一般AES加密出來的數據是128 或 256 的整倍數。
- 搜索關鍵詞:
cryptojs.aes
。
2.3. DES 逆向特徵
- 搜索關鍵詞:
cryptojs.des.encrypt
。