常用加密演算法學習

2022-01-23 19:37:04 字數 2121 閱讀 9834

早期的加密型別,安全性較低。大體有:des,des3(或者叫做3des),aes,rc2等

.net中對應的命名空間為:(部分)

aes:system.security.cryptography.aescryptoserviceprovider

des:system.security.cryptography.descryptoserviceprovider

rc2:system.security.cryptography.rc2cryptoserviceprovider

rijndaelmanaged:system.security.cryptography.rijndaelmanaged

加密和解密時使用不同金鑰,分為公鑰和私鑰。這樣即使別人破解了密文但不知道私鑰也就無法修改。大體有:dsa,rsa,d-h,ecdh(橢圓曲線)等

.net中對應的命名空間為:(部分)

dsa:system.security.cryptography.dsa

rsa:system.security.cryptography.rsa

ecdh:system.security.cryptography.ecdiffiehellman

具體加解密包**於網路,可以基於.net自身的進行完善。這裡只介紹使用

金鑰長度為128/192/256位

初始化向量16個位元組,key用32個位元組

測試:

密文

"hellow world"

金鑰new string('h', 32)

加密結果:

39,249,2,51,67,184,116,198,8,184,38,78,63,214,223,196

解密:

hellow world

key和初始化向量都用8個位元組

密文

"hellow world"

金鑰new string('h', 8)

加密結果:

236,32,72,25,145,219,140,175,102,86,40,208,86,65,144,154

解密:

hellow world

用法和des一樣,這裡略過

密文

"hellow world"

金鑰n/a(公鑰,私鑰均不使用oaep填充的情況)

加密結果:

188,230,28,149,191,101,249,129,182,43,49,69,188,183,253,13,157,55,121,114,10,87,

244,158,38,213,31,128,221,213,182,65,179,131,186,94,73,165,161,5,61,163,60,217,5

8,113,211,143,186,86,127,96,247,155,10,16,200,163,193,150,80,111,152,163,156,131

,191,169,251,27,225,101,99,16,201,252,215,252,68,101,171,245,60,185,8,74,105,117

,79,200,100,80,180,40,135,129,44,26,18,3,190,37,241,225,172,133,197,206,37,198,8

8,89,205,167,186,21,216,135,202,190,184,88,32,194,210,85,212,231

解密:

hellow world

參考資料

維基百科:資料加密標準

加密解密概述及.net中對加密解密的支援(二)

常用加解密方法彙總 工具

常用加密演算法

常用加密演算法 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...