⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 x9eciesstructure.java

📁 进行与数字证书相关开发必须的java源码
💻 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 + -