Cipher.DoFinal 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| DoFinal() |
完成多段加密或解密操作,視密碼初始化方式而定。 |
| DoFinal(Byte[]) |
在單一步驟操作中加密或解密資料,或完成多步驟操作。 |
| DoFinal(ByteBuffer, ByteBuffer) |
在單一步驟操作中加密或解密資料,或完成多步驟操作。 |
| DoFinal(Byte[], Int32) |
完成多段加密或解密操作,視密碼初始化方式而定。 |
| DoFinal(Byte[], Int32, Int32) |
在單一步驟操作中加密或解密資料,或完成多步驟操作。 |
| DoFinal(Byte[], Int32, Int32, Byte[]) |
在單一步驟操作中加密或解密資料,或完成多步驟操作。 |
| DoFinal(Byte[], Int32, Int32, Byte[], Int32) |
在單一步驟操作中加密或解密資料,或完成多步驟操作。 |
DoFinal()
完成多段加密或解密操作,視密碼初始化方式而定。
[Android.Runtime.Register("doFinal", "()[B", "")]
public byte[]? DoFinal();
[<Android.Runtime.Register("doFinal", "()[B", "")>]
member this.DoFinal : unit -> byte[]
傳回
新緩衝區的結果
- 屬性
例外狀況
如果所得位元組大小不是密文區塊大小的倍數。
如果資料的填充與填充方案不符。
如果這個密碼實例沒有初始化用於加密或解密,
備註
完成多段加密或解密操作,視密碼初始化方式而定。
先前操作中可能被緩 update 衝的輸入資料會被處理,並依需求套用填充(如有請求)。 若使用 AEAD 模式,如 GCM/CCM,加密時會加上認證標籤,解密時則會驗證。 結果會被儲存在新的緩衝區中。
完成後,此方法會將密碼物件重置為先前透過呼叫 init初始化時的狀態。 也就是說,物件會被重置,並可依呼叫時指定的 init操作模式來加密或解密更多資料。
注意:若拋出任何例外,該密碼物件可能需要重置後才能再次使用。
的 javax.crypto.Cipher.doFinal()Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
DoFinal(Byte[])
在單一步驟操作中加密或解密資料,或完成多步驟操作。
[Android.Runtime.Register("doFinal", "([B)[B", "")]
public byte[]? DoFinal(byte[]? input);
[<Android.Runtime.Register("doFinal", "([B)[B", "")>]
member this.DoFinal : byte[] -> byte[]
參數
- input
- Byte[]
輸入緩衝區
傳回
新緩衝區的結果
- 屬性
例外狀況
如果所得位元組大小不是密文區塊大小的倍數。
如果資料的填充與填充方案不符。
如果這個密碼實例沒有初始化用於加密或解密,
備註
在單一步驟操作中加密或解密資料,或完成多步驟操作。 資料會根據密碼初始化方式被加密或解密。
緩衝區中的 input 位元組,以及在先前 update 操作中可能緩衝過的任何輸入位元組,都會被處理,並會套用填充(如有請求)。 若使用 AEAD 模式,如 GCM/CCM,加密時會加上認證標籤,解密時則會驗證。 結果會被儲存在新的緩衝區中。
完成後,此方法會將密碼物件重置為先前透過呼叫 init初始化時的狀態。 也就是說,物件會被重置,並可依呼叫時指定的 init操作模式來加密或解密更多資料。
注意:若拋出任何例外,該密碼物件可能需要重置後才能再次使用。
的 javax.crypto.Cipher.doFinal(byte[])Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
DoFinal(ByteBuffer, ByteBuffer)
在單一步驟操作中加密或解密資料,或完成多步驟操作。
[Android.Runtime.Register("doFinal", "(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I", "")]
public int DoFinal(Java.Nio.ByteBuffer? input, Java.Nio.ByteBuffer? output);
[<Android.Runtime.Register("doFinal", "(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I", "")>]
member this.DoFinal : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer -> int
參數
- input
- ByteBuffer
輸入的位元組緩衝區
- output
- ByteBuffer
輸出的位元組緩衝區
傳回
儲存在 output
- 屬性
例外狀況
如果緩衝區的尺寸 output 太小。
如果所得位元組大小不是密文區塊大小的倍數。
如果資料的填充與填充方案不符。
如果輸入緩衝區和輸出緩衝區是同一個物件。
如果這個密碼實例沒有初始化用於加密或解密,
備註
在單一步驟操作中加密或解密資料,或完成多步驟操作。 資料會根據密碼初始化方式被加密或解密。
所有 input.remaining() 以 為 的 input.position() 位元組都會被處理。 若使用 AEAD 模式,如 GCM/CCM,加密時會加上認證標籤,解密時則會驗證。 結果會儲存在輸出緩衝區中。 回傳時,輸入緩衝區的位置將等於其極限;其極限不會改變。 輸出緩衝區的位置將前進 n,其中 n 是此方法回傳的值;輸出緩衝區的限制不會改變。
若 output.remaining() 位元組不足以儲存結果,則拋出 a ShortBufferException 。 此時,請以較大的輸出緩衝區重複此呼叫。 用 #getOutputSize(int) getOutputSize 來判斷輸出緩衝區應該有多大。
完成後,此方法會將密碼物件重置為先前透過呼叫 init初始化時的狀態。 也就是說,物件會被重置,並可依呼叫時指定的 init操作模式來加密或解密更多資料。
注意:若拋出任何例外,該密碼物件可能需要重置後才能再次使用。
注意:此方法應具備複製安全,意即 input and output 緩衝區可參考相同的位元組陣列,且當結果被複製到輸出緩衝區時,未處理的輸入資料不會被覆寫。
已在1.5中新增。
的 javax.crypto.Cipher.doFinal(java.nio.ByteBuffer, java.nio.ByteBuffer)Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
DoFinal(Byte[], Int32)
完成多段加密或解密操作,視密碼初始化方式而定。
[Android.Runtime.Register("doFinal", "([BI)I", "")]
public int DoFinal(byte[]? output, int outputOffset);
[<Android.Runtime.Register("doFinal", "([BI)I", "")>]
member this.DoFinal : byte[] * int -> int
參數
- output
- Byte[]
結果的緩衝區
- outputOffset
- Int32
結果儲存在 的 output 偏移量
傳回
儲存在 output
- 屬性
例外狀況
如果所得位元組大小不是密文區塊大小的倍數。
如果緩衝區的尺寸 output 太小。
如果資料的填充與填充方案不符。
如果這個密碼實例沒有初始化用於加密或解密,
備註
完成多段加密或解密操作,視密碼初始化方式而定。
先前操作中可能被緩 update 衝的輸入資料會被處理,並依需求套用填充(如有請求)。 若使用 AEAD 模式,如 GCM/CCM,加密時會加上認證標籤,解密時則會驗證。 結果會從包含區開始outputOffset儲存output在緩衝區中。
若 output 緩衝區太小無法儲存結果,則拋出 a ShortBufferException 。 此時,請以較大的輸出緩衝區重複此呼叫。 用 #getOutputSize(int) getOutputSize 來判斷輸出緩衝區應該有多大。
完成後,此方法會將密碼物件重置為先前透過呼叫 init初始化時的狀態。 也就是說,物件會被重置,並可依呼叫時指定的 init操作模式來加密或解密更多資料。
注意:若拋出任何例外,該密碼物件可能需要重置後才能再次使用。
的 javax.crypto.Cipher.doFinal(byte[], int)Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
DoFinal(Byte[], Int32, Int32)
在單一步驟操作中加密或解密資料,或完成多步驟操作。
[Android.Runtime.Register("doFinal", "([BII)[B", "")]
public byte[]? DoFinal(byte[]? input, int inputOffset, int inputLen);
[<Android.Runtime.Register("doFinal", "([BII)[B", "")>]
member this.DoFinal : byte[] * int * int -> byte[]
參數
- input
- Byte[]
輸入緩衝區
- inputOffset
- Int32
輸入起點的 input 偏移量
- inputLen
- Int32
輸入長度
傳回
新緩衝區的結果
- 屬性
例外狀況
如果所得位元組大小不是密文區塊大小的倍數。
如果資料的填充與填充方案不符。
如果這個密碼實例沒有初始化用於加密或解密,
如果 inputOffset 和 inputLen 不指定輸入緩衝區中的有效區塊。
備註
在單一步驟操作中加密或解密資料,或完成多步驟操作。 資料會根據密碼初始化方式被加密或解密。
緩衝區中的input第一個inputLen位元組(從包含點開始inputOffset)以及任何可能在先前update操作中緩衝過的輸入位元組,都會被處理,並會套用填充(如有請求)。 若使用 AEAD 模式,如 GCM/CCM,加密時會加上認證標籤,解密時則會驗證。 結果會被儲存在新的緩衝區中。
完成後,此方法會將密碼物件重置為先前透過呼叫 init初始化時的狀態。 也就是說,物件會被重置,並可依呼叫時指定的 init操作模式來加密或解密更多資料。
注意:若拋出任何例外,該密碼物件可能需要重置後才能再次使用。
的 javax.crypto.Cipher.doFinal(byte[], int, int)Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
DoFinal(Byte[], Int32, Int32, Byte[])
在單一步驟操作中加密或解密資料,或完成多步驟操作。
[Android.Runtime.Register("doFinal", "([BII[B)I", "")]
public int DoFinal(byte[]? input, int inputOffset, int inputLen, byte[]? output);
[<Android.Runtime.Register("doFinal", "([BII[B)I", "")>]
member this.DoFinal : byte[] * int * int * byte[] -> int
參數
- input
- Byte[]
輸入緩衝區
- inputOffset
- Int32
輸入起點的 input 偏移量
- inputLen
- Int32
輸入長度
- output
- Byte[]
結果的緩衝區
傳回
儲存在 output
- 屬性
例外狀況
如果緩衝區的尺寸 output 太小。
如果所得位元組大小不是密文區塊大小的倍數。
如果資料的填充與填充方案不符。
如果這個密碼實例沒有初始化用於加密或解密,
如果 inputOffset 和 inputLen 不指定輸入緩衝區中的有效區塊。
備註
在單一步驟操作中加密或解密資料,或完成多步驟操作。 資料會根據密碼初始化方式被加密或解密。
緩衝區中的input第一個inputLen位元組(從包含點開始inputOffset)以及任何可能在先前update操作中緩衝過的輸入位元組,都會被處理,並會套用填充(如有請求)。 若使用 AEAD 模式,如 GCM/CCM,加密時會加上認證標籤,解密時則會驗證。 結果會被儲存在 output 緩衝區中。
若 output 緩衝區太小無法儲存結果,則拋出 a ShortBufferException 。 此時,請以較大的輸出緩衝區重複此呼叫。 用 #getOutputSize(int) getOutputSize 來判斷輸出緩衝區應該有多大。
完成後,此方法會將密碼物件重置為先前透過呼叫 init初始化時的狀態。 也就是說,物件會被重置,並可依呼叫時指定的 init操作模式來加密或解密更多資料。
注意:若拋出任何例外,該密碼物件可能需要重置後才能再次使用。
注意:此方法應具備複製安全,意即 input and output 緩衝區可參考相同的位元組陣列,且當結果被複製到輸出緩衝區時,未處理的輸入資料不會被覆寫。
的 javax.crypto.Cipher.doFinal(byte[], int, int, byte[])Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
適用於
DoFinal(Byte[], Int32, Int32, Byte[], Int32)
在單一步驟操作中加密或解密資料,或完成多步驟操作。
[Android.Runtime.Register("doFinal", "([BII[BI)I", "")]
public int DoFinal(byte[]? input, int inputOffset, int inputLen, byte[]? output, int outputOffset);
[<Android.Runtime.Register("doFinal", "([BII[BI)I", "")>]
member this.DoFinal : byte[] * int * int * byte[] * int -> int
參數
- input
- Byte[]
輸入緩衝區
- inputOffset
- Int32
輸入起點的 input 偏移量
- inputLen
- Int32
輸入長度
- output
- Byte[]
結果的緩衝區
- outputOffset
- Int32
結果儲存在 的 output 偏移量
傳回
儲存在 output
- 屬性
例外狀況
如果緩衝區的尺寸 output 太小。
如果所得位元組大小不是密文區塊大小的倍數。
如果資料的填充與填充方案不符。
如果這個密碼實例沒有初始化用於加密或解密,
如果 inputOffset 和 inputLen 不指定輸入緩衝區中的有效區塊。
備註
在單一步驟操作中加密或解密資料,或完成多步驟操作。 資料會根據密碼初始化方式被加密或解密。
緩衝區中的input第一個inputLen位元組(從包含點開始inputOffset)以及任何可能在先前update操作中緩衝過的輸入位元組,都會被處理,並會套用填充(如有請求)。 若使用 AEAD 模式,如 GCM/CCM,加密時會加上認證標籤,解密時則會驗證。 結果會從包含區開始outputOffset儲存output在緩衝區中。
若 output 緩衝區太小無法儲存結果,則拋出 a ShortBufferException 。 此時,請以較大的輸出緩衝區重複此呼叫。 用 #getOutputSize(int) getOutputSize 來判斷輸出緩衝區應該有多大。
完成後,此方法會將密碼物件重置為先前透過呼叫 init初始化時的狀態。 也就是說,物件會被重置,並可依呼叫時指定的 init操作模式來加密或解密更多資料。
注意:若拋出任何例外,該密碼物件可能需要重置後才能再次使用。
注意:此方法應具備複製安全,意即 input and output 緩衝區可參考相同的位元組陣列,且當結果被複製到輸出緩衝區時,未處理的輸入資料不會被覆寫。
的 javax.crypto.Cipher.doFinal(byte[], int, int, byte[], int)Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。