語言

Cipher.DoFinal 方法

定義

多載

名稱 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[]

傳回

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[]

輸入緩衝區

傳回

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

輸入長度

傳回

Byte[]

新緩衝區的結果

屬性

例外狀況

如果所得位元組大小不是密文區塊大小的倍數。

如果資料的填充與填充方案不符。

如果這個密碼實例沒有初始化用於加密或解密,

如果 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 屬性授權中所述的詞彙使用。

適用於