導航:首頁 > 文檔加密 > net中加密

net中加密

發布時間:2025-01-03 07:13:41

❶ .net 中用戶登錄時密碼加密 如何解密

其實這種你可以先在資料庫中將用戶的密碼用MD5加密存放保存,然後在登錄頁面上,當用戶登錄時,你可將先將用戶的密碼也通過MD5加密,去查找資料庫中的密碼欄位,如果兩者相同,那麼用戶自然就登錄成功,如果兩者加密後的結果不一樣,用戶的密碼就是錯誤的,這樣的話,不管哪個管理員也不可以在資料庫中查看到某個用戶的密碼,達到安全效果.這樣就不用解密用戶的密碼了,因為你直接存進資料庫就是用戶加密後的密碼.
當然現在技術發展很快,在不少的網頁也可以用反解密,但是這種情況比較少見,所以不用多考慮...如果有興趣不防研究一下也可以,呵呵...

❷ .NET中的DES對稱加密

DES是一種對稱加密(Data Encryption Standard)演算法 於 年得到美國 *** 的正式許可 是一種用 位密鑰來加密 位數據的方法 一般密碼長度為 個位元組 其中 位加密密鑰 每個第 位都用作奇偶校驗

DES演算法一般有兩個關鍵點 第一個是加密模式 第二個是數據補位 加密模式的主要意義就是 加密演算法是按塊進行加密的 例如 DES 是 Bit 一個塊的進行加密 就是每次加密 個位元組 因此每次輸入八個位元組的明文輸出八個位元組密文 如果是 個位元組 那麼分成兩個塊依次進行加密 問題就出現在這里 如果明文是 分塊分別進行加密 那麼加密的結果類似 C C C C C C 可以看出明文的規律 這就是 ECB 加密模式 密文可以看出明文的規律 為了解決這個問題 有了其他的加密模式 CBC 加密模式(密碼分組連接) CFB加密模式(密碼反饋模式) OFB加密模式(輸出反饋模式)CBC 是要求給一個初始化的向量 然後將每個輸出與該向量作運算 並將運算的結果作為下一個加密塊的初始化向量 CFB 和 OFB 則不需要提供初始化向量 直接將密碼或者輸出作為初始化向量進行運算 這樣就避免了明文的規律出現在密文中 當然缺點是解密時需要保證密文的正確性 如果網路傳輸時發生了一部分錯誤 則後面的解密結果就可能是錯誤的 (ECB模式僅影響傳輸錯誤的那個塊 密碼演算法基本上都是分組(按快)進行加密的 如果密文長度不是剛剛好可以進行分組 怎麼辦?只能進行填充

加密演算法常見的有ECB模式和CBC模式

第一種電子密本方式(ECB)

ECB模式 電子密本方式 就是將數據按照 個位元組一段進行DES加密或解密得到一段 個位元組的密文或者明文 最後一段不足 個位元組 則補足 個位元組(注意 這里就涉及到數據補位了)進行計算 之後按照順序將計算所得的數據連在一起即可 各段數據之間互不影響 將明文分成n個 比特分組 如果明文長度不是 比特的倍數 則在明文末尾填充適當數目的規定符號 對明文組用給定的密鑰分別進行加密 行密文C=(C C …… Cn )其中Ci=DES(K xi) i= …… n 這是Java封裝的DES演算法的默認模式

第二種密文分組鏈接方式(CBC)

密文分組鏈接方式 在CBC方式下 每個明文組xi在加密前與先一組密文按位模二加後 再送到DES加密 CBC方式克服了ECB方式報內組重的缺點 但由於明文組加密前與一組密文有關 因此前一組密文的錯誤會傳播到下一組 這是 NET封裝的DES演算法的默認模式 它比較麻煩 加密步驟如下

首先將數據按照 個位元組一組進行分組得到D D ……Dn(若數據不是 的整數倍 就涉及到數據補位了)

第一組數據D 與向量I異或後的結果進行DES加密得到第一組密文C (注意 這里有向量I的說法 ECB模式下沒有使用向量I)

第二組數據D 與第一組的加密結果C 異或以後的結果進行DES加密 得到第二組密文C

之後的數據以此類推 得到Cn

按順序連為C C C ……Cn即為加密結果

第三種密文反饋方式(CFB) 可用於序列密碼

明文X=(x x …… xn ) 其中xi由t個比特組成 第四種輸出反饋方式(OFB) 可用於序列密碼

與CFB唯一不同的是OFB是直接取DES輸出的t個比特 而不是取密文的t個比特 其餘都與CFB相同 但它取的是DES的輸出 所以它克服了CFB的密文錯誤傳播的缺點

數據補位一般有NoPadding和PKCS Padding(Java中是PKCS Padding)填充方式 PKCS Padding和PKCS Padding實際只是協議不一樣 根據相關資料說明 PKCS Padding明確定義了加密塊是 位元組 PKCS Padding加密快可以是 之間 但是封裝的DES演算法默認都是 位元組 所以可以認為他們一樣 數據補位實際是在數據不滿 位元組的倍數 才補充到 位元組的倍數的填充過程

NoPadding填充方式 演算法本身不填充 比如 NET的padding提供了有None Zeros方式 分別為不填充和填充 的方式

PKCS Padding(PKCS Padding)填充方式 為 NET和Java的默認填充方式 對加密數據位元組長度對 取余為r 如r大於 則補 r個位元組 位元組為 r的值 如果r等於 則補 個位元組 比如

加密字元串為為AAA 則補位為AAA ;加密字元串為BBBBBB 則補位為BBBBBB ;加密字元串為CCCCCCCC 則補位為CCCCCCCC

NET中的DES加密

對於 NET 框架在System Security Cryptography命名空間下提供了DESCryptoServiceProvider作為System Security Cryptography DES加密解密的包裝介面 它提供了如下的 個方法

public override ICryptoTransform CreateDecryptor(byte[] rgbKey byte[] rgbIV)

public override ICryptoTransform CreateEncryptor(byte[] rgbKey byte[] rgbIV)

public override void GenerateIV()

public override void GenerateKey()

lishixin/Article/program/net/201311/13492

閱讀全文

與net中加密相關的資料

熱點內容
廣發app哪裡有轉賬功能 瀏覽:716
壓縮本地文件怎麼壓縮 瀏覽:530
安卓手機有什麼好用的直播軟體 瀏覽:844
linuxtomcat啟動無法訪問 瀏覽:706
表單提交雲伺服器 瀏覽:817
轉子式壓縮機原理 瀏覽:865
中國武術史pdf 瀏覽:85
c語言編程大神 瀏覽:138
等待開始的命令怎麼說 瀏覽:296
手機加密文件演算法 瀏覽:850
19減11怎麼演算法 瀏覽:697
java網路編程怎麼樣 瀏覽:934
商城分紅返利源碼 瀏覽:732
如何設置加密共享文件 瀏覽:171
安卓手機為什麼會卡頓無法開機 瀏覽:518
伺服器yum配置文件怎麼寫 瀏覽:547
東方財富app上買的基金在哪裡查詢 瀏覽:517
液壓廢料圓型壓縮機 瀏覽:166
梁體加密怎麼算 瀏覽:147
堡壘之夜什麼時候出安卓手游 瀏覽:939