c AES加密解密

2022-08-29 12:48:15 字數 1937 閱讀 1897

aes是乙個對稱密碼,旨在取代des成為廣泛使用的標準。密碼學中的高階加密標準(advanced encryption standard,aes),又稱rijndael加密法,是美國聯邦**採用的一種區塊加密標準。這個標準用來替代原先的des,已經被多方分析且廣為全世界所使用。

aes加密資料塊分組長度必須為128位元,金鑰長度可以是128位元、192位元、256位元中的任意乙個(如果資料塊及金鑰長度不足時,會補齊)。aes加密有很多輪的重複和變換。大致步驟如下:1、金鑰擴充套件(keyexpansion),2、初始輪(initial round),3、重複輪(rounds),每一輪又包括:subbytes、shiftrows、mixcolumns、addroundkey,4、最終輪(final round),最終輪沒有mixcolumns。

注:經過個人測試,同乙個字串在不同裝置,地域解密,加密是不一樣的,必須加密和解密的秘鑰要是一樣的,才能解密成功;

下面我們就來學習一下c#裡如何利用aes加密解密

其實aes加解密的**大都一致,可以從網上覆制過來直接呼叫的

1.建立乙個web窗體form1.cs來測試

如:

後台**:

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.linq;

using system.security.cryptography;//

記得要引入該類庫

using

system.text;

using

system.threading.tasks;

using

system.windows.forms;

namespace

aes加密解密

//////

aes加密

///

///明文

///金鑰

///public

static

string encrypt(string encryptstr, string

key)

//tobase64string的秘鑰為32位

//////

aes解密

///

///密文

///金鑰

///internal

static

string decrypt(string decryptstr, string

key)

private

void button1_click(object

sender, eventargs e)

//秘鑰位數不對也不能加解密成功

private

void button2_click(object

sender, eventargs e)

private

void form1_load(object

sender, eventargs e)}}

2.執行結果

加密在一定程度上保證了你資料的安全

加密有對稱加密和不對稱加密,對稱加密一般有兩個秘鑰,乙個為公鑰就是大家都知道的,乙個為私鑰只有自己知道。

C AES 加解密處理

引言 這是乙個有關aes加解密的方法類 一 設定aes加解密金鑰 下面列出自己分配的三類金鑰 private const string userkey roshan 2015 user 加密使用者名稱和密碼 private static readonly byte useriv private co...

C AES加密演算法實現

密碼學中的高階加密標準 advanced encryption standard,aes 又稱rijndael加密法,是美國聯邦 採用的一種區塊加密標準。這個標準用來替代原先的des,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高階加密標準由美國國家標準與技術研究院 nist 於2001年...

des vue 加密解密 DES加密 解密

外掛程式描述 des data encryption standard 是發明最早的最廣泛使用的分組對稱加密演算法。des演算法簡介 des data encryption standard 是發明最早的最廣泛使用的分組對稱加密演算法。des演算法的入口引數有三個 key data mode。其中k...