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

📄 derbmpstring.java

📁 说明: 1、里面有什么: 1.1、org.bouncycastle.*下的所有软件是bouncycastle组织开发的软件包 1.2、org.infosecurity.*下的软件包括
💻 JAVA
字号:
package org.bouncycastle.asn1;import java.io.*;/** * DER BMPString object. */public class DERBMPString    extends DERObject    implements DERString{    String  string;    /**     * return a BMP String from the given object.     *     * @param obj the object we want converted.     * @exception IllegalArgumentException if the object cannot be converted.     */    public static DERBMPString getInstance(        Object  obj)    {        if (obj == null || obj instanceof DERBMPString)        {            return (DERBMPString)obj;        }        if (obj instanceof ASN1OctetString)        {            return new DERBMPString(((ASN1OctetString)obj).getOctets());        }        if (obj instanceof ASN1TaggedObject)        {            return getInstance(((ASN1TaggedObject)obj).getObject());        }        throw new IllegalArgumentException("illegal object in getInstance: " + obj.getClass().getName());    }    /**     * return a BMP String from a tagged object.     *     * @param obj the tagged object holding the object we want     * @param explicit true if the object is meant to be explicitly     *              tagged false otherwise.     * @exception IllegalArgumentException if the tagged object cannot     *              be converted.     */    public static DERBMPString getInstance(        ASN1TaggedObject obj,        boolean          explicit)    {        return getInstance(obj.getObject());    }        /**     * basic constructor - byte encoded string.     */    public DERBMPString(        byte[]   string)    {        char[]  cs = new char[string.length / 2];        for (int i = 0; i != cs.length; i++)        {            cs[i] = (char)((string[2 * i] << 8) | (string[2 * i + 1] & 0xff));        }        this.string = new String(cs);    }    /**     * basic constructor     */    public DERBMPString(        String   string)    {        this.string = string;    }    public String getString()    {        return string;    }    public int hashCode()    {        return this.getString().hashCode();    }    public boolean equals(        Object  o)    {        if (!(o instanceof DERBMPString))        {            return false;        }        DERPrintableString  s = (DERPrintableString)o;        return this.getString().equals(s.getString());    }    void encode(        DEROutputStream  out)        throws IOException    {        char[]  c = string.toCharArray();        byte[]  b = new byte[c.length * 2];        for (int i = 0; i != c.length; i++)        {            b[2 * i] = (byte)(c[i] >> 8);            b[2 * i + 1] = (byte)c[i];        }        out.writeEncoded(BMP_STRING, b);    }}

⌨️ 快捷键说明

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