public class RCDHCodecTool
extends java.lang.Object
Created by gaominghui on 2018/5/25.
限定符和类型 | 类和说明 |
---|---|
static class |
RCDHCodecTool.RCDHPrivateKey
DH私钥
|
static class |
RCDHCodecTool.RCDHPublicKey
DH公钥
|
static class |
RCDHCodecTool.RCSecretKey
对称加密的密钥
|
构造器和说明 |
---|
RCDHCodecTool() |
限定符和类型 | 方法和说明 |
---|---|
static byte[] |
decrypt(byte[] content,
RCDHCodecTool.RCSecretKey rcSecretKey)
解密方法,返回解密后的内容。
|
static byte[] |
encrypt(byte[] content,
RCDHCodecTool.RCSecretKey rcSecretKey)
加密方法,返回加密后的内容
|
static RCDHCodecTool.RCDHPrivateKey |
fromString2RCDHPrivateKey(java.lang.String keyString) |
static RCDHCodecTool.RCDHPublicKey |
fromString2RCDHPublicKey(java.lang.String keyString) |
static RCDHCodecTool.RCSecretKey |
fromString2RCSecretKey(java.lang.String keyString) |
static java.lang.String |
genEncId()
加密会话的唯一标识,为避免重复,由“时间戳 + 4位随机数”拼接而成。
|
RCDHCodecTool.RCSecretKey |
genSecretKey(RCDHCodecTool.RCDHPublicKey publicKey)
2.输入 XA、YB,输出 K 。
|
java.security.KeyPair |
getOrCreateLocalKeyPair(javax.crypto.spec.DHParameterSpec parameterSpec)
制作本地密钥对
|
RCDHCodecTool.RCDHPrivateKey |
getRCPriKey()
获取生成的私钥
|
RCDHCodecTool.RCDHPublicKey |
getRCPubKey()
获取生成的公钥
|
static RCDHCodecTool.RCSecretKey |
getRCSecretKeyByEncId(java.lang.String encId)
根据encId来获取密钥
|
static RCDHCodecTool |
obtainWithEncId(java.lang.String encId)
获取RCDHCodecTool实例,并且使用encId来标识工具实例。
|
static java.lang.String[] |
parseEncTargetId(java.lang.String targetId)
会话 encryptId + ";;;" + 对方 userId
|
public static RCDHCodecTool obtainWithEncId(java.lang.String encId)
encId
- 每个会话唯一的加密id。public static RCDHCodecTool.RCSecretKey getRCSecretKeyByEncId(java.lang.String encId)
encId
- 每个会话唯一的加密id。public java.security.KeyPair getOrCreateLocalKeyPair(javax.crypto.spec.DHParameterSpec parameterSpec)
parameterSpec
- 生成的密钥的参数,如果从服务器获取的话。public RCDHCodecTool.RCSecretKey genSecretKey(RCDHCodecTool.RCDHPublicKey publicKey)
publicKey
- 接收对方公钥public static byte[] encrypt(byte[] content, RCDHCodecTool.RCSecretKey rcSecretKey)
content
- 需要加密的内容rcSecretKey
- 加密的密钥public static byte[] decrypt(byte[] content, RCDHCodecTool.RCSecretKey rcSecretKey)
content
- 加密的内容rcSecretKey
- 使用的对称密钥public static java.lang.String[] parseEncTargetId(java.lang.String targetId)
targetId
- 要解析的targetIdpublic static java.lang.String genEncId()
public RCDHCodecTool.RCDHPublicKey getRCPubKey()
public RCDHCodecTool.RCDHPrivateKey getRCPriKey()
public static RCDHCodecTool.RCSecretKey fromString2RCSecretKey(java.lang.String keyString)
public static RCDHCodecTool.RCDHPublicKey fromString2RCDHPublicKey(java.lang.String keyString)
public static RCDHCodecTool.RCDHPrivateKey fromString2RCDHPrivateKey(java.lang.String keyString)