📄 asn1octetstring.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: ASN1OctetString.java
package jit.asn1;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Vector;
// Referenced classes of package jit.asn1:
// DERObject, ASN1TaggedObject, ASN1Sequence, BERConstructedOctetString,
// DEROutputStream, DEROctetString, DEREncodable
public abstract class ASN1OctetString extends DERObject
{
byte string[];
public static ASN1OctetString getInstance(ASN1TaggedObject obj, boolean explicit)
{
return getInstance(obj.getObject());
}
public static ASN1OctetString getInstance(Object obj)
{
if(obj == null || (obj instanceof ASN1OctetString))
return (ASN1OctetString)obj;
if(obj instanceof ASN1TaggedObject)
return getInstance(((ASN1TaggedObject)obj).getObject());
if(obj instanceof ASN1Sequence)
{
Vector v = new Vector();
for(Enumeration e = ((ASN1Sequence)obj).getObjects(); e.hasMoreElements(); v.addElement(e.nextElement()));
return new BERConstructedOctetString(v);
} else
{
throw new IllegalArgumentException("illegal object in getInstance: ".concat(String.valueOf(String.valueOf(obj.getClass().getName()))));
}
}
public ASN1OctetString(byte string[])
{
this.string = string;
}
public ASN1OctetString(DEREncodable obj)
{
try
{
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
DEROutputStream dOut = new DEROutputStream(bOut);
dOut.writeObject(obj);
dOut.close();
string = bOut.toByteArray();
}
catch(IOException e)
{
throw new IllegalArgumentException("Error processing object : ".concat(String.valueOf(String.valueOf(e.toString()))));
}
}
public byte[] getOctets()
{
return string;
}
public int hashCode()
{
byte b[] = getOctets();
int value = 0;
for(int i = 0; i != b.length; i++)
value ^= (b[i] & 0xff) << i % 4;
return value;
}
public boolean equals(Object o)
{
if(o == null || !(o instanceof DEROctetString))
return false;
DEROctetString other = (DEROctetString)o;
byte b1[] = other.getOctets();
byte b2[] = getOctets();
if(b1.length != b2.length)
return false;
for(int i = 0; i != b1.length; i++)
if(b1[i] != b2[i])
return false;
return true;
}
abstract void encode(DEROutputStream deroutputstream)
throws IOException;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -