https://cryptohack.org/courses/intro/enc2/
bytes.fromhex() #將一個十六進制字符串轉換為 bytes 類型
.hex() # 將 bytes 類型的數值轉換為一個十六進制字符串
c='63727970746f7b596f755f77696c6c5f62655f776f726b696e675f776974685f6865785f737472696e67735f615f6c6f747d'
print(bytes.fromhex(c))
crypto{You_will_be_working_with_hex_strings_a_lot}
Hex(Hexadecimal),也就是base16
Hexadecimal: 48 65 6C 6C 6F
Step-by-Step Conversion:
48 (十六進位) → 72 (十進位) → H (ASCII字符)65 (十六進位) → 101 (十進位) → e (ASCII字符)6C (十六進位) → 108 (十進位) → l (ASCII字符)6C (十六進位) → 108 (十進位) → l (ASCII字符)6F (十六進位) → 111 (十進位) → o (ASCII字符)Result: 48 65 6C 6C 6F 轉換為 ASCII 為 Hello。
https://cryptohack.org/courses/intro/enc3/
base64.b64encode() #將bytes類型的二進制數據編碼轉換為 Base64 格式的字符串。
import base64 # 匯入 base64 模組,用於進行 Base64 編碼
s = '72bca9b68fc16ac7beeb8f849dca1d8a783e8acf9679bf9269f7bf' # 加密後的數據
byte_data = bytes.fromhex(s) #轉換後的 bytes 數據
base64_encoded = base64.b64encode(byte_data) # 將byte_data進行 Base64 編碼,轉換為字符串格式
print(base64_encoded)
crypto/Base+64+Encoding+is+Web+Safe
Base64:
0-9、大寫字母 A-Z、小寫字母 a-z、以及符號 "+" 和 "/"(共64個字符)。"=" 作為填充符號。Base64url:
"-" 代替 "+","_" 代替 "/"。"/" 符號。既然base16、base64都介紹了,那就順便介紹一下base32吧
Base32:
2-7(6個)和字母 A-Z(26個),共32個字元。"=" 作為填充符號。Base32hex:
0-9 和字母 A-V(共32個字元)。(和hex同樣使用數字0-9)"=" 作為填充符號。嗚呼,終於打完了, 今天又是很趕地發了,來不及勘誤,如果有發現錯誤或想友善交流歡迎留言~