php keyfactory,SecretKeyFactory

本文详细介绍了Java的SecretKeyFactory类,它是用于处理秘密(对称)密钥的工具,能够将不透明的密钥转换为密钥规范,反之亦然。SecretKeyFactory支持多种密钥规格,如DESKeySpec和DESedeKeySpec。文章还提供了如何通过不同的方法获取和创建SecretKeyFactory实例的说明,并解释了其在加密过程中的作用。
摘要由CSDN通过智能技术生成

概述

软件包

使用

已过时

索引

帮助

JavaTM 2 Platform

Standard Ed. 6

上一个类

下一个类

框架

无框架

摘要: 嵌套 | 字段 | 构造方法 | 方法

详细信息: 字段 | 构造方法 | 方法

javax.crypto

类 SecretKeyFactory

java.lang.Object

inherit.gifjavax.crypto.SecretKeyFactory

public class SecretKeyFactory

extends Object

此类表示秘密密钥的工厂。

密钥工厂用来将密钥(类型 Key 的不透明加密密钥)转换为密钥规范(底层密钥材料的透明表示形式),反之亦然。秘密密钥工厂只对秘密(对称)密钥进行操作。

密钥工厂为双工模式,即其允许根据给定密钥规范(密钥材料)构建不透明密钥对象,或以适当格式获取密钥对象的底层密钥材料。

应用程序开发人员应参阅其提供者文档,找出 generateSecret 和 getKeySpec 方法所支持的密钥规范。例如,"SunJCE" 提供者提供的 DES 秘密密钥工厂支持 DESKeySpec 作为 DES 密钥的透明表示形式,并且该提供者的 Triple DES 密钥的秘密密钥工厂支持 DESedeKeySpec 作为 Triple DES 密钥的透明表示形式。

从以下版本开始:

1.4

另请参见:

SecretKey,

DESKeySpec,

DESedeKeySpec,

PBEKeySpec

构造方法摘要

protected

SecretKeyFactory(SecretKeyFactorySpi keyFacSpi,

Provider provider,

String algorithm)

创建一个 SecretKeyFactory 对象。

方法摘要

SecretKey

generateSecret(KeySpec keySpec)

根据提供的密钥规范(密钥材料)生成 SecretKey 对象。

String

getAlgorithm()

返回此 SecretKeyFactory 对象的算法名称。

static SecretKeyFactory

getInstance(String algorithm)

返回转换指定算法的秘密密钥的 SecretKeyFactory 对象。

static SecretKeyFactory

getInstance(String algorithm,

Provider provider)

返回转换指定算法的秘密密钥的 SecretKeyFactory 对象。

static SecretKeyFactory

getInstance(String algorithm,

String provider)

返回转换指定算法的秘密密钥的 SecretKeyFactory 对象。

KeySpec

getKeySpec(SecretKey key,

Class keySpec)

以请求的格式返回给定密钥对象的规范(密钥材料)。

Provider

getProvider()

返回此 SecretKeyFactory 对象的提供者。

SecretKey

translateKey(SecretKey key)

将一个密钥对象(其提供者未知或可能不受信任)转换为此秘密密钥工厂的相应密钥对象。

从类 java.lang.Object 继承的方法

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造方法详细信息

SecretKeyFactory

protected SecretKeyFactory(SecretKeyFactorySpi keyFacSpi,

Provider provider,

String algorithm)

创建一个 SecretKeyFactory 对象。

参数:

keyFacSpi - 委托provider - 提供者algorithm - 秘密密钥算法

方法详细信息

getInstance

public static final SecretKeyFactory getInstance(String algorithm)

throws NoSuchAlgorithmException

返回转换指定算法的秘密密钥的 SecretKeyFactory 对象。

此方法从首选 Provider 开始遍历已注册安全提供者列表。返回一个封装 SecretKeyFactorySpi 实现的新 SecretKeyFactory 对象,该实现取自支持指定算法的第一个 Provider。

注意,可以通过 Security.getProviders() 方法获取已注册提供者列表。

参数:

algorithm - 所请求的秘密密钥算法的标准名称。有关标准算法名称的信息,请参阅

Java Cryptography Architecture Reference Guide 中的附录 A。

返回:

新的 SecretKeyFactory 对象。

抛出:

NullPointerException - 如果指定的算法为 null。

NoSuchAlgorithmException - 如果没有任何 Provider 支持指定算法的 SecretKeyFactorySpi 实现。

另请参见:

Provider

getInstance

public static final SecretKeyFactory getInstance(String algorithm,

String provider)

throws NoSuchAlgorithmException,

NoSuchProviderException

返回转换指定算法的秘密密钥的 SecretKeyFactory 对象。

返回一个封装 SecretKeyFactorySpi 实现的新 SecretKeyFactory 对象,该实现取自指定的提供者。指定提供者必须在安全提供者列表中注册。

注意,可以通过 Security.getProviders() 方法获取已注册提供者列表。

参数:

algorithm - 所请求的秘密密钥算法的标准名称。有关标准算法名称的信息,请参阅

Java Cryptography Architecture Reference Guide 中的附录 A。provider - 提供者的名称。

返回:

新的 SecretKeyFactory 对象。

抛出:

NoSuchAlgorithmException - 如果不能从指定提供者获得指定算法的 SecretKeyFactorySpi 实现。

NullPointerException - 如果指定的算法为 null。

NoSuchProviderException - 如果指定提供者未在安全提供者列表中注册。

IllegalArgumentException - 如果 provider 为 null 或空。

另请参见:

Provider

getInstance

public static final SecretKeyFactory getInstance(String algorithm,

Provider provider)

throws NoSuchAlgorithmException

返回转换指定算法的秘密密钥的 SecretKeyFactory 对象。

返回一个封装 SecretKeyFactorySpi 实现的新 SecretKeyFactory 对象,该实现取自指定的 Provider 对象。注意,指定 Provider 对象无需在提供者列表中注册。

参数:

algorithm - 所请求的秘密密钥算法的标准名称。有关标准算法名称的信息,请参阅

Java Cryptography Architecture Reference Guide 中的附录 A。provider - 提供者。

返回:

新的 SecretKeyFactory 对象。

抛出:

NullPointerException - 如果指定的算法为 null。

NoSuchAlgorithmException - 如果不能从指定的 Provider 对象获得指定算法的 SecretKeyFactorySpi 实现。

IllegalArgumentException - 如果 provider 为 null。

另请参见:

Provider

getProvider

public final Provider getProvider()

返回此 SecretKeyFactory 对象的提供者。

返回:

此 SecretKeyFactory 对象的提供者

getAlgorithm

public final String getAlgorithm()

返回此 SecretKeyFactory 对象的算法名称。

此名称与在某个创建此 SecretKeyFactory 对象的 getInstance 调用中指定的名称相同。

返回:

此 SecretKeyFactory 对象的算法名称。

generateSecret

public final SecretKey generateSecret(KeySpec keySpec)

throws InvalidKeySpecException

根据提供的密钥规范(密钥材料)生成 SecretKey 对象。

参数:

keySpec - 秘密密钥的规范(密钥材料)

返回:

秘密密钥

抛出:

InvalidKeySpecException - 如果给定密钥规范不适合生成秘密密钥的秘密密钥工厂。

getKeySpec

public final KeySpec getKeySpec(SecretKey key,

Class keySpec)

throws InvalidKeySpecException

以请求的格式返回给定密钥对象的规范(密钥材料)。

参数:

key - 密钥keySpec - 所请求的格式,密钥材料将以此格式返回

返回:

所请求格式的底层密钥规范(密钥材料)

抛出:

InvalidKeySpecException - 如果所请求的密钥规范不适合给定的密钥(例如,与 key 和 keySpec 关联的算法不匹配,或者 key 在加密硬件设备上引用一个密钥而 keySpec 是基于软件的密钥规范),或者无法处理给定的密钥(例如,给定的密钥具有此秘密密钥工厂不支持的算法或格式)。

translateKey

public final SecretKey translateKey(SecretKey key)

throws InvalidKeyException

将一个密钥对象(其提供者未知或可能不受信任)转换为此秘密密钥工厂的相应密钥对象。

参数:

key - 其提供者未知或不受信任的密钥

返回:

已转换的密钥

抛出:

InvalidKeyException - 如果此秘密密钥工厂无法处理给定的密钥。

概述

软件包

使用

已过时

索引

帮助

JavaTM 2 Platform

Standard Ed. 6

上一个类

下一个类

框架

无框架

摘要: 嵌套 | 字段 | 构造方法 | 方法

详细信息: 字段 | 构造方法 | 方法

提交错误或意见

有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值