📄 x9eciesstructure.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: X9ECIESStructure.java
package jit.asn1.x9;
import jit.math.ec.ECPoint;
public class X9ECIESStructure
{
byte all[];
byte Q[];
byte encodedMessage[];
byte macData[];
int keyLength;
int macSize;
public X9ECIESStructure()
{
}
public X9ECIESStructure(byte all[], int eccLength, int macLength)
{
this.all = all;
macSize = macLength;
keyLength = eccLength / 8;
if(this.all.length <= 1 + 2 * keyLength + macSize)
throw new IllegalArgumentException("unknown object when creating object");
if(this.all[0] == 4)
{
Q = new byte[1 + 2 * keyLength];
Q[0] = 4;
System.arraycopy(this.all, 1, Q, 1, 2 * keyLength);
int tLength = this.all.length;
encodedMessage = new byte[tLength - 1 - 2 * keyLength - macSize];
System.arraycopy(this.all, 2 * keyLength + 1, encodedMessage, 0, tLength - 1 - 2 * keyLength - macSize);
macData = new byte[macSize];
System.arraycopy(this.all, tLength - macSize, macData, 0, macSize);
} else
{
throw new IllegalArgumentException("unknown object when creating object");
}
}
public byte[] getQ()
{
return Q;
}
public byte[] getEncodedMessage()
{
return encodedMessage;
}
public byte[] getMacData()
{
return macData;
}
public byte[] getEncodedMessageAndMac()
{
if(encodedMessage != null && macData != null)
{
byte encodeAndMac[] = new byte[encodedMessage.length + macData.length];
System.arraycopy(encodedMessage, 0, encodeAndMac, 0, encodedMessage.length);
System.arraycopy(macData, 0, encodeAndMac, encodedMessage.length, macData.length);
return encodeAndMac;
} else
{
return null;
}
}
public void setQ(ECPoint Q)
{
this.Q = Q.getEncoded(true);
}
public void setEncodedMessageAndMac(byte encodeAndMac[])
{
if(encodeAndMac.length > macSize)
{
encodedMessage = new byte[encodeAndMac.length - macSize];
System.arraycopy(encodeAndMac, 0, encodedMessage, 0, encodeAndMac.length - macSize);
macData = new byte[macSize];
System.arraycopy(encodeAndMac, encodedMessage.length, macData, 0, macSize);
} else
{
throw new IllegalArgumentException("unknown object when creating object");
}
}
public byte[] getOutputData()
{
all = new byte[getQ().length + getEncodedMessage().length + getMacData().length];
System.arraycopy(getQ(), 0, all, 0, getQ().length);
System.arraycopy(getEncodedMessage(), 0, all, getQ().length, getEncodedMessage().length);
System.arraycopy(getMacData(), 0, all, getQ().length + getEncodedMessage().length, getMacData().length);
return all;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -