Cipher.Init 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Init(CipherMode, IKey, IAlgorithmParameterSpec, SecureRandom) |
使用密钥、一组算法参数和一个随机源初始化此密码。 |
Init(CipherMode, IKey, AlgorithmParameters, SecureRandom) |
使用密钥、一组算法参数和一个随机源初始化此密码。 |
Init(CipherMode, IKey, IAlgorithmParameterSpec) |
使用密钥和一组算法参数初始化此密码。 |
Init(CipherMode, IKey, SecureRandom) |
使用密钥和随机源初始化此密码。 |
Init(CipherMode, IKey, AlgorithmParameters) |
使用密钥和一组算法参数初始化此密码。 |
Init(CipherMode, Certificate, SecureRandom) |
使用给定证书中的公钥和随机源初始化此密码。 |
Init(CipherMode, IKey) |
使用密钥初始化此密码。 |
Init(CipherMode, Certificate) |
使用给定证书中的公钥初始化此密码。 |
Init(CipherMode, IKey, IAlgorithmParameterSpec, SecureRandom)
使用密钥、一组算法参数和一个随机源初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.IKey? key, Java.Security.Spec.IAlgorithmParameterSpec? params, Java.Security.SecureRandom? random);
[<Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.IKey * Java.Security.Spec.IAlgorithmParameterSpec * Java.Security.SecureRandom -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- key
- IKey
加密密钥
- params
- IAlgorithmParameterSpec
算法参数
- random
- SecureRandom
随机性的来源
- 属性
例外
如果指定的密钥不能用于初始化此密码实例,则为 。
它指定的参数不适合此密码。
如果指定的 opmode
值无效,则为
注解
使用密钥、一组算法参数和一个随机源初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果此密码需要任何算法参数且 params
为 null,则基础密码实现应生成所需的参数本身(使用提供程序特定的默认值或随机值),如果为加密或密钥包装进行初始化,则引发一个 InvalidAlgorithmParameterException
用于解密或密钥解包的初始化参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将从 random
中获取它们。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Init(CipherMode, IKey, AlgorithmParameters, SecureRandom)
使用密钥、一组算法参数和一个随机源初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.IKey? key, Java.Security.AlgorithmParameters? params, Java.Security.SecureRandom? random);
[<Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.IKey * Java.Security.AlgorithmParameters * Java.Security.SecureRandom -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- key
- IKey
加密密钥
- params
- AlgorithmParameters
算法参数
- random
- SecureRandom
随机性的来源
- 属性
例外
如果指定的密钥不能用于初始化此密码实例,则为 。
如果指定的参数不适合此密码,则为 。
如果指定的 opmode
值无效,则为
注解
使用密钥、一组算法参数和一个随机源初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果此密码需要任何算法参数且 params
为 null,则基础密码实现应生成所需的参数本身(使用提供程序特定的默认值或随机值),如果为加密或密钥包装进行初始化,则引发一个 InvalidAlgorithmParameterException
用于解密或密钥解包的初始化参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将从 random
中获取它们。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Init(CipherMode, IKey, IAlgorithmParameterSpec)
使用密钥和一组算法参数初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.IKey? key, Java.Security.Spec.IAlgorithmParameterSpec? params);
[<Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.IKey * Java.Security.Spec.IAlgorithmParameterSpec -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- key
- IKey
加密密钥
- params
- IAlgorithmParameterSpec
算法参数
- 属性
例外
如果指定的密钥不能用于初始化此密码实例,则为 。
它指定的参数不适合此密码。
注解
使用密钥和一组算法参数初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果此密码需要任何算法参数且 params
为 null,则基础密码实现应生成所需的参数本身(使用提供程序特定的默认值或随机值),如果为加密或密钥包装进行初始化,则引发一个 InvalidAlgorithmParameterException
用于解密或密钥解包的初始化参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将使用 java.security.SecureRandom
安装的最高优先级提供程序的实现作为随机性源来获取它们。 (如果未安装任何提供程序提供 SecureRandom 的实现,将使用系统提供的随机源。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Init(CipherMode, IKey, SecureRandom)
使用密钥和随机源初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/SecureRandom;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.IKey? key, Java.Security.SecureRandom? random);
[<Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/SecureRandom;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.IKey * Java.Security.SecureRandom -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- key
- IKey
加密密钥
- random
- SecureRandom
随机性的来源
- 属性
例外
如果指定的密钥不能用于初始化此密码实例,则为 。
如果指定的 opmode 无效,
注解
使用密钥和随机源初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果此密码需要任何无法从给定 key
派生的算法参数,则基础密码实现应生成所需的参数本身(使用提供程序特定的默认值或随机值),如果正在为加密或密钥包装进行初始化,则引发一个 InvalidKeyException
用于解密或密钥解包的初始化参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将从 random
中获取它们。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
适用于 . 的 javax.crypto.Cipher.init(int, java.security.Key, java.security.SecureRandom)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Init(CipherMode, IKey, AlgorithmParameters)
使用密钥和一组算法参数初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.IKey? key, Java.Security.AlgorithmParameters? params);
[<Android.Runtime.Register("init", "(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.IKey * Java.Security.AlgorithmParameters -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- key
- IKey
加密密钥
- params
- AlgorithmParameters
算法参数
- 属性
例外
如果指定的密钥不能用于初始化此密码实例,则为 。
它指定的参数不适合此密码。
注解
使用密钥和一组算法参数初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果此密码需要任何算法参数且 params
为 null,则基础密码实现应生成所需的参数本身(使用提供程序特定的默认值或随机值),如果为加密或密钥包装进行初始化,则引发一个 InvalidAlgorithmParameterException
用于解密或密钥解包的初始化参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将使用 java.security.SecureRandom
安装的最高优先级提供程序的实现作为随机性源来获取它们。 (如果未安装任何提供程序提供 SecureRandom 的实现,将使用系统提供的随机源。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
适用于 . 的 javax.crypto.Cipher.init(int, java.security.Key, java.security.AlgorithmParameters)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Init(CipherMode, Certificate, SecureRandom)
使用给定证书中的公钥和随机源初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/cert/Certificate;Ljava/security/SecureRandom;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.Cert.Certificate? certificate, Java.Security.SecureRandom? random);
[<Android.Runtime.Register("init", "(ILjava/security/cert/Certificate;Ljava/security/SecureRandom;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.Cert.Certificate * Java.Security.SecureRandom -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- certificate
- Certificate
证书
- random
- SecureRandom
随机性的来源
- 属性
例外
如果证书中的公钥不能用于初始化此密码实例,
注解
使用给定证书中的公钥和随机源初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果证书的类型为 X.509,并且具有标记为关键密钥的密钥用法扩展字段,并且密钥使用扩展字段的值意味着证书中的公钥及其相应的私钥不应用于由值opmode
表示的操作,则会引发一个InvalidKeyException
。
如果此密码需要任何无法从给定 certificate
的公钥派生的算法参数,则基础密码实现应生成所需的参数本身(如果使用提供程序特定的默认值或随机值),如果是为加密或密钥包装进行初始化,则引发一个 InvalidKeyException
用于解密或密钥解包的初始化参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将从 random
中获取它们。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Init(CipherMode, IKey)
使用密钥初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/Key;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.IKey? key);
[<Android.Runtime.Register("init", "(ILjava/security/Key;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.IKey -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- key
- IKey
密钥
- 属性
例外
如果指定的密钥不能用于初始化此密码实例,则为 。
注解
使用密钥初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果此密码需要任何无法从给定 key
派生的算法参数,则基础密码实现应生成所需的参数本身(使用提供程序特定的默认值或随机值),如果正在为加密或密钥包装进行初始化,则引发一个 InvalidKeyException
用于解密或密钥解包的初始化参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将使用 java.security.SecureRandom
安装的最高优先级提供程序的实现作为随机性源来获取它们。 (如果未安装任何提供程序提供 SecureRandom 的实现,将使用系统提供的随机源。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
适用于 . 的 javax.crypto.Cipher.init(int, java.security.Key)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
适用于
Init(CipherMode, Certificate)
使用给定证书中的公钥初始化此密码。
[Android.Runtime.Register("init", "(ILjava/security/cert/Certificate;)V", "")]
public void Init (Javax.Crypto.CipherMode opmode, Java.Security.Cert.Certificate? certificate);
[<Android.Runtime.Register("init", "(ILjava/security/cert/Certificate;)V", "")>]
member this.Init : Javax.Crypto.CipherMode * Java.Security.Cert.Certificate -> unit
参数
- opmode
- CipherMode
此密码的操作模式(这是下列操作模式之一: ENCRYPT_MODE
或 DECRYPT_MODE
WRAP_MODE
UNWRAP_MODE
)
- certificate
- Certificate
证书
- 属性
例外
如果证书中的公钥不能用于初始化此密码实例,
注解
使用给定证书中的公钥初始化此密码。
密码针对以下四个操作之一进行初始化:加密、解密、密钥包装或密钥解包,具体取决于值 opmode
。
如果证书的类型为 X.509,并且具有标记为关键密钥的密钥用法扩展字段,并且密钥使用扩展字段的值意味着证书中的公钥及其相应的私钥不应用于由值opmode
表示的操作,则会引发一个InvalidKeyException
。
如果此密码需要任何无法从给定证书中的公钥派生的算法参数,则基础密码实现应生成所需的参数本身(使用提供程序特定的默认值或随机值),如果初始化用于加密或密钥包装,则引发一个 InvalidKeyException
用于解密或密钥解包的算法参数。 可以使用或(如果参数为 IV)检索 #getParameters() getParameters
#getIV() getIV
生成的参数。
如果此密码需要无法从输入参数派生的算法参数,并且没有合理的提供程序特定的默认值,则初始化必然会失败。
如果此密码(包括其基础反馈或填充方案)需要任何随机字节(例如,用于参数生成),它将使用 SecureRandom
安装的最高优先级提供程序的实现作为随机性源来获取它们。 (如果未安装任何提供程序提供 SecureRandom 的实现,将使用系统提供的随机源。
请注意,初始化密码对象时,它将丢失以前获取的所有状态。 换句话说,初始化密码等效于创建该密码的新实例并初始化该密码。
适用于 . 的 javax.crypto.Cipher.init(int, java.security.cert.Certificate)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。