| 限定符和类型 | 字段和说明 |
|---|---|
protected String |
algorithm
算法
|
protected Cipher |
clipher
Cipher负责完成加密或解密工作
|
protected Lock |
lock |
protected PrivateKey |
privateKey
私钥
|
protected PublicKey |
publicKey
公钥
|
protected Signature |
signature
签名,用于签名和验证
|
| 构造器和说明 |
|---|
AsymmetricCriptor(AsymmetricAlgorithm algorithm)
构造,创建新的私钥公钥对
|
AsymmetricCriptor(AsymmetricAlgorithm algorithm,
byte[] privateKey,
byte[] publicKey)
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密 |
AsymmetricCriptor(String algorithm)
构造,创建新的私钥公钥对
|
AsymmetricCriptor(String algorithm,
byte[] privateKey,
byte[] publicKey)
构造
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密 |
| 限定符和类型 | 方法和说明 |
|---|---|
byte[] |
decrypt(byte[] bytes,
KeyType keyType)
解密
|
byte[] |
decrypt(InputStream data,
KeyType keyType)
解密
|
byte[] |
encrypt(byte[] data,
KeyType keyType)
加密
|
byte[] |
encrypt(InputStream data,
KeyType keyType)
加密
|
byte[] |
encrypt(String data,
KeyType keyType)
加密,使用UTF-8编码
|
byte[] |
encrypt(String data,
String charset,
KeyType keyType)
加密
|
Cipher |
getClipher()
获得加密或解密器
|
protected Key |
getKeyByType(KeyType type)
根据密钥类型获得相应密钥
|
PrivateKey |
getPrivateKey()
获得私钥
|
String |
getPrivateKeyBase64()
获得私钥
|
PublicKey |
getPublicKey()
获得公钥
|
String |
getPublicKeyBase64()
获得公钥
|
Signature |
getSignature()
获得签名对象
|
AsymmetricCriptor |
init(String algorithm,
byte[] privateKey,
byte[] publicKey)
初始化
私钥和公钥同时为空时生成一对新的私钥和公钥 私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密 签名默认使用MD5摘要算法,如果需要自定义签名算法,调用 setSignature(Signature)设置签名对象 |
AsymmetricCriptor |
initKeys()
生成公钥和私钥
|
AsymmetricCriptor |
setPrivateKey(PrivateKey privateKey)
设置私钥
|
AsymmetricCriptor |
setPublicKey(PublicKey publicKey)
设置公钥
|
AsymmetricCriptor |
setSignature(Signature signature)
设置签名
|
byte[] |
sign(byte[] data)
用私钥对信息生成数字签名
|
boolean |
verify(byte[] data,
byte[] sign)
用公钥检验数字签名的合法性
|
protected String algorithm
protected PublicKey publicKey
protected PrivateKey privateKey
protected Cipher clipher
protected Signature signature
protected Lock lock
public AsymmetricCriptor(AsymmetricAlgorithm algorithm)
algorithm - SymmetricAlgorithmpublic AsymmetricCriptor(String algorithm)
algorithm - 算法public AsymmetricCriptor(AsymmetricAlgorithm algorithm, byte[] privateKey, byte[] publicKey)
algorithm - SymmetricAlgorithmprivateKey - 私钥publicKey - 公钥public AsymmetricCriptor(String algorithm, byte[] privateKey, byte[] publicKey)
私钥和公钥同时为空时生成一对新的私钥和公钥
私钥和公钥可以单独传入一个,如此则只能使用此钥匙来做加密或者解密
algorithm - 算法privateKey - 私钥publicKey - 公钥public AsymmetricCriptor init(String algorithm, byte[] privateKey, byte[] publicKey)
setSignature(Signature)设置签名对象algorithm - 算法privateKey - 私钥publicKey - 公钥AsymmetricCriptorpublic AsymmetricCriptor initKeys()
public byte[] sign(byte[] data)
data - 加密数据public boolean verify(byte[] data,
byte[] sign)
data - 数据sign - 签名public byte[] encrypt(byte[] data,
KeyType keyType)
data - 被加密的byteskeyType - 私钥或公钥 KeyTypepublic byte[] encrypt(String data, String charset, KeyType keyType)
data - 被加密的字符串charset - 编码keyType - 私钥或公钥 KeyTypepublic byte[] encrypt(String data, KeyType keyType)
data - 被加密的字符串keyType - 私钥或公钥 KeyTypepublic byte[] encrypt(InputStream data, KeyType keyType)
data - 被加密的字符串keyType - 私钥或公钥 KeyTypepublic byte[] decrypt(byte[] bytes,
KeyType keyType)
bytes - 被解密的byteskeyType - 私钥或公钥 KeyTypepublic byte[] decrypt(InputStream data, KeyType keyType)
data - 被解密的byteskeyType - 私钥或公钥 KeyTypepublic PublicKey getPublicKey()
public String getPublicKeyBase64()
public AsymmetricCriptor setPublicKey(PublicKey publicKey)
publicKey - 公钥AsymmetricCriptorpublic PrivateKey getPrivateKey()
public String getPrivateKeyBase64()
public AsymmetricCriptor setPrivateKey(PrivateKey privateKey)
privateKey - 私钥AsymmetricCriptorpublic AsymmetricCriptor setSignature(Signature signature)
signature - 签名对象 SignatureAsymmetricCriptorpublic Cipher getClipher()
Copyright © 2017. All rights reserved.