日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

将数据流链接到加密转换的流CryptoStream 类

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将数据流链接到加密转换的流CryptoStream 类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.命名空間:System.Security.Cryptography
程序集:mscorlib(在 mscorlib.dll 中)

----------------------------------------------------
繼承層次結構
-System.Object
----- System.MarshalByRefObject
--------- System.IO.Stream
-------------System.Security.Cryptography.CryptoStream 2.-------------------------------
????????公共語言運行庫使用面向流的設計進行加密。該設計的核心是 CryptoStream。實現 CryptoStream 的任何加密對象可以和實現 Stream 的任 何對象鏈接起來,因此一個對象的流式處理輸出可以饋送到另一個對象的輸入。不需要分別存儲中間結果(第一個對象的輸出)。
????????通過調用 Close 方法完成 CryptoStream 對象的使用后,始終應該顯式關閉該對象。這會刷新流并使所有剩余的數據塊都被 CryptoStream 對象處理。但是,如果在調用 Close 方法前發生了異常,CryptoStream 對象可能會關閉。為確保 Close 方法始終被調用,請在 try/catch 語句的 finally 塊中放置 Close 方法調用。 用目標數據流、要使用的轉換和流的模式初始化?CryptoStream 類的新實例。 public?CryptoStream?(Stream?stream,ICryptoTransform?transform,
CryptoStreamMode?mode) 參數: stream--?對其執行加密轉換的流。 transform-- 要對流執行的加密轉換。 mode--CryptoStreamMode 值之一。 任何從 Stream 導出的對象都可以傳入?stream?參數。任何實現 ICryptoTransform(例如 HashAlgorithm)的對象都可以傳入transform 參數。 3.CryptoStream.Write 方法?
--------------------------------------
將一個字節序列寫入當前 CryptoStream,并將流中的當前位置提升寫入的字節數。
public override void Write (byte[ ] buffer,?int offset,?int count)
參數
buffer: 字節數組。此方法將 count 個字節從 buffer 復制到當前流。
offset:buffer 中的字節偏移量,從此偏移量開始將字節復制到當前流。
count:要寫入當前流的字節數。 4.CryptoStream.FlushFinalBlock 方法?
----------------------------------------------------
用緩沖區的當前狀態更新基礎數據源或儲存庫,隨后清除緩沖區。
public void FlushFinalBlock () 5.--------------------------------
如:
???private string DecryptString(string Value)
??{
????????ICryptoTransform transform1=this.mCSP.CreateDecrytor(this.mCSP.Key,this.mCSP.IV);
???????byte [ ] buffer1=Convert.FromBase64String(Value);
???????MemoryStream stream1=new MemoryStream();
???????CryptoStream??stream2=new CryptoStream(stream1,transform1,CrytoStreamMode.Write);
??????stream2.Write(buffer1,0,buffer1.Length);
??????stream2.FlushFinalBlock();
??????stream2.Close();
??????return Encoding.UTF8.GetString(stream1.ToArray());
??}
NOTE:https://www.codeproject.com/articles/6465/using-cryptostream-in-c //加密,解密 例子

總結

以上是生活随笔為你收集整理的将数据流链接到加密转换的流CryptoStream 类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。