url編碼
base32/64/58
對稱加密演算法
非對稱加密演算法
摘要演算法/ 單向加密/ 雜湊加密/ 雜湊演算法
用乙個位元組(7個或8個二進位制位) 定義了128個字元 (96 個可列印字元, 32 個控制字元)
英語中用128個符號編碼便可以表示所有
幾個常見字母的ascii碼: 「0-9」為 48-57; 「a-z」為65-90;「a-z」為97-122;
想要用固定位元組, 將世界上所有的符號都納入其中
utf-8
根據不同的符號自動選擇編碼的長短, 英文用乙個位元組,漢字用兩個
瀏覽器url只能使用英文本母、阿拉伯數字和某些標點符號,
**要使用漢字只能編碼後使用
url編碼其實就是乙個字元ascii碼的十六進製制, 前面加上「%」
「\」的url編碼就是%5c
基於32/64/58個可列印字元來表示二進位制資料的方法
就是把 二進位制 --轉換為–> 字元
base32的編碼表是由(a-z、2-7)32個可見字元構成,「=」符號用作字尾填充。
base64的編碼表是由(a-z、a-z、0-9、+、/)64個可見字元構成,「=」符號用作字尾填充。
base58的編碼表相比base64少了數字0,大寫字母i,o,小寫字母 l (這個是l),以及符號『+』和『/』
1234567
--base32編碼–>gezdgnbvgy3q====
特徵:大寫字母和數字,不滿5的倍數,用『=』補齊。
1234567
--base64編碼–>mtizndu2nw==
特徵:大小寫字母和數字,不滿3的倍數,用『=』補齊。
1234567
--base58編碼–>2s8yyfs4vc
演算法
位數加密後字元
特點/用途
base16
原先的2倍
數字0-9,大寫字母a-f
就是16進製制轉ascii
base32
原先的8/5倍
大寫字母(a-z)數字234567
字元不足用「=」補齊
base64
轉換後比原有的字串長1/3
大寫字母(a-z),小寫字母(a-z),數字(0-9)以及+/
字元不足用「=」補齊
rot5
數字(0-9)
只對數字進行編碼,用當前數字往前數的第5個數字替換當前數字:0>5, 1>6
使用同一套金鑰進行加密和解密
加密方法encodekey
c=ek( p )
解密方法decodekey
p=dk( c )
加密方法
c=ek3( dk2( ek1( p ) ) )
解密方法
p=dk1( ek2( dk3( c ) ) )
國密 硬體實現
國密 軟體實現
金鑰名稱128、192、256位
每個密碼以私鑰(secret key)和公鑰(public key)成對出現,國密公鑰加密,私鑰解密,反之亦然
相對於對稱加密,速度很慢,一般不用於加密,而是秘鑰交換
只能加密不能解密輸出長度為 128bits 的乙個串 (通常用 16 進製 表示為 32 個字元)
由數字「0-9」和字母「a-f」所組成的字串
國密帶秘密金鑰的hash函式
相容了md和sha演算法的特性,並在此基礎上加上了金鑰
40個字元
核心思想是「雜湊計算需要更大的記憶體空間和時長」
追求更大的記憶體消耗和計算時間,以有效阻止asic專用礦機。
生成的密文是60位
主要是能實現每次加密的值都是不一樣
常用加密演算法
常用加密演算法 des data encryption standard 對稱演算法,資料加密標準,速度較快,適用於加密大量資料的場合 3des triple des 是基於des的對稱演算法,對一塊資料用三個不同的金鑰進行三次加密,強度更高 rc2和rc4 對稱演算法,用變長金鑰對大量資料進行加密...
常用加密演算法
平時經常會遇到一些加密解密之類的處理,特編寫成乙個專門的類,以後只需要呼叫即可!用法很簡單,例項化類之後呼叫相關方法就行!會對應返回加密解密後的字串!using system using system.collections.generic using system.text using syste...
常用加密演算法
一 對稱性加密演算法 aes,des,3des des是一種分組資料加密技術 先將資料分成固定長度的小資料塊,之後進行加密 速度較快,適用於大量資料加密,而3des是一種基於des的加密演算法,使用3個不同密匙對同乙個分組資料塊進行3次加密,如此以使得密 度更高。相較於des和3des演算法而言,a...