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

📄 derapplicationspecific.java

📁 内容:基于jdk1.4的加密算法的具体实现
💻 JAVA
字号:
package org.bouncycastle.asn1;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;/** * Base class for an application specific object */public class DERApplicationSpecific     extends DERObject{    private int       tag;    private byte[]    octets;        public DERApplicationSpecific(        int        tag,        byte[]    octets)    {        this.tag = tag;        this.octets = octets;    }        public DERApplicationSpecific(        int                  tag,         DEREncodable         object)         throws IOException     {        this.tag = tag | DERTags.CONSTRUCTED;                ByteArrayOutputStream baos = new ByteArrayOutputStream();        DEROutputStream dos = new DEROutputStream(baos);                dos.writeObject(object);                this.octets = baos.toByteArray();    }        public boolean isConstructed()    {        return (tag & DERTags.CONSTRUCTED) != 0;    }        public byte[] getContents()    {        return octets;    }        public int getApplicationTag()     {        return tag & 0x1F;    }         public DERObject getObject()         throws IOException     {        return new ASN1InputStream(new ByteArrayInputStream(getContents())).readObject();    }        /* (non-Javadoc)     * @see org.bouncycastle.asn1.DERObject#encode(org.bouncycastle.asn1.DEROutputStream)     */    void encode(DEROutputStream out) throws IOException    {        out.writeEncoded(DERTags.APPLICATION | tag, octets);    }        public boolean equals(            Object o)    {        if ((o == null) || !(o instanceof DERApplicationSpecific))        {            return false;        }                DERApplicationSpecific other = (DERApplicationSpecific)o;                if (tag != other.tag)        {            return false;        }                if (octets.length != other.octets.length)        {            return false;        }                for (int i = 0; i < octets.length; i++)         {            if (octets[i] != other.octets[i])            {                return false;            }        }                return true;    }        public int hashCode()    {        byte[]  b = this.getContents();        int     value = 0;        for (int i = 0; i != b.length; i++)        {            value ^= (b[i] & 0xff) << (i % 4);        }        return value ^ this.getApplicationTag();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -