JavaTM Platform
Standard Ed. 6

javax.crypto
�� SecretKeyFactory

java.lang.Object
  �̳��� javax.crypto.SecretKeyFactory

public class SecretKeyFactory
extends Object

�����ʾ������Կ�Ĺ�����

��Կ������������Կ������ Key �IJ�͸��������Կ��ת��Ϊ��Կ�淶���ײ���Կ���ϵ�͸����ʾ��ʽ������֮��Ȼ��������Կ����ֻ�����ܣ��Գƣ���Կ���в�����

��Կ����Ϊ˫��ģʽ�������������ݸ�����Կ�淶����Կ���ϣ�������͸����Կ���󣬻����ʵ���ʽ��ȡ��Կ����ĵײ���Կ���ϡ�

Ӧ�ó��򿪷���ԱӦ�������ṩ���ĵ����ҳ� 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 ������㷨���ơ�

����������ij�������� 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 Platform
Standard Ed. 6

�ύ��������
�йظ���� API �ο����ϺͿ�����Ա�ĵ�������� Java SE ������Ա�ĵ������ĵ���������ϸ�ġ����򿪷���Ա���������Լ�������������ﶨ�塢ʹ�ü��ɺ͹�������ʾ����

��Ȩ���� 2007 Sun Microsystems, Inc. ��������Ȩ���� ����������֤��������������ĵ����·ַ�������