java.security Cipher 对象详细介绍

cipher对象:此类为java.securtiy 为密码进行加密,解密的对象,根据java 1.6 doc


javadoc 介绍:

此类为加密和解密提供密码功能。它构成了 Java Cryptographic Extension (JCE) 框架的核心。


创建Cipher 对象:

通过Cipher.getInstance("str")  ,传入的值有两种情况:1.算法名称 2.算法/模式/填充


cipher类常量,

我们一般接触发到的就是两个:

ENCRYPT_MODE 表明是此时是加密模式,DECRYPT_MODE 表明此时是解密模式

类方法:

1.getInstance("str");通过传入算法名称,生成对应的cipher对象

2.doFinal();结束多部分加密或解密操作

3.doFinal(多参数);有几个重载方法,结束单部分或(多部分)加解密操作

4.init(); 初始化cipher对象,有多个重载方法,根据传入参数不同进行重载

5.getAlgorithm();返回加密算法名称

6.getBlockSize();返回加密块的大小

7.update();继续多部分加密解密操作,根据传入方法不同

8.wrap();包装秘钥

9.unwrap();解包秘钥

10;getProvider();返回cipher对象的提供者

11.getParameter();返回cipher对象的参数

12,getIV();返回新缓冲区初始化变量

13,getExemptionMechanism();返回豁免机制对象,如果不使用返回null

14.getOutputSize();根据给定的输入长度 inputLen(以字节为单位),返回保存下一个 update  doFinal 操作结果所需的输出缓冲区长度(以字节为单位)。

15.getMaxAllowedKeyLength();JCE 仲裁策略文件,返回指定转换的最大密钥长度;一般最大只能秘钥长度只能到128位,例如:AES加密如果要实现256位,则要安装了 JCE 无限制强度仲裁策略文件,则返回 Integer.MAX_VALUE

16.getMaxAllowedParameterSpec();返回仲裁策略文件,返回包含最大 Cipher 参数值的 AlgorithmParameterSpec 对象。如果安装了 JCE 无限制强度仲裁策略文件,或者策略文件中对用于指定转换的参数没有最大限制,则返回 null。


java 1.6 doc 中 cipher类支持的算法,模型,填充方式如下:

 * cipher类支持的算法有:
AES                                    
AESWrap                                
ARCFOUR                                
Blowfish                            
DES
DESede                                
DESedeWrap                            
ECIES                                

PBEWith<digest>And<encryption>PBEWith<prf>And<encryption>                   

       例如:PBEWithMD5AndDES     ;PBEwithSHA1AndDESede                    

RC2                                        
RC4                                        
RC5                                        
RSA

支持的mode有:
NONE
CBC
CFB, CFBx
CTR
CTS
ECB
OFB, OFBx
PCBC

支持的填充方式有
NoPadding
ISO10126Padding

OAEPPadding, OAEPWith<digest>And<mgf>Padding 

                        例如: OAEPWithMD5AndMGF1Padding ; OAEPWithSHA-512AndMGF1Padding

PKCS1Padding
PKCS5Padding
PKCS5Padding

猜你喜欢

转载自blog.csdn.net/kzcming/article/details/80094057