Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE

import java.util.Hashtable;

public class Main {
    /**
     * Maps mechanism strings to their codes as Long.
     */
    protected static Hashtable mechansimCodes_;

    /**
     * Converts the names of mechanisms to their long value code.
     *
     * @param mechansimName The name of the mechanism to get the code; e.g.
     *                      "CKM_RSA_PKCS".
     * @return The code of the mechanism or null, if this name is unknown.
     * @preconditions (mechansimName <> null)
     * @postconditions
     */
    public static Long mechanismCodeToString(String mechansimName) {
        if (mechansimName == null) {
            throw new NullPointerException("Argument \"mechansimName\" must not be null.");
        }

        Long mechanismCode;

        if (mechansimName.startsWith("0x")) {
            // we try to parse it as hex encoded long
            mechanismCode = new Long(Long.parseLong(mechansimName, 16));
        } else {
            if (mechansimCodes_ == null) {
                mechansimCodes_ = new Hashtable(160);
                mechansimCodes_.put("CKM_RSA_PKCS_KEY_PAIR_GEN", new Long(0x00000000));
                mechansimCodes_.put("CKM_RSA_PKCS", new Long(0x00000001));
                mechansimCodes_.put("CKM_RSA_9796", new Long(0x00000002));
                mechansimCodes_.put("CKM_RSA_X_509", new Long(0x00000003));
                mechansimCodes_.put("CKM_MD2_RSA_PKCS", new Long(0x00000004));
                mechansimCodes_.put("CKM_MD5_RSA_PKCS", new Long(0x00000005));
                mechansimCodes_.put("CKM_SHA1_RSA_PKCS", new Long(0x00000006));
                mechansimCodes_.put("CKM_RIPEMD128_RSA_PKCS", new Long(0x00000007));
                mechansimCodes_.put("CKM_RIPEMD160_RSA_PKCS", new Long(0x00000008));
                mechansimCodes_.put("CKM_RSA_PKCS_OAEP", new Long(0x00000009));
                mechansimCodes_.put("CKM_DSA_KEY_PAIR_GEN", new Long(0x00000010));
                mechansimCodes_.put("CKM_DSA", new Long(0x00000011));
                mechansimCodes_.put("CKM_DSA_SHA1", new Long(0x00000012));
                mechansimCodes_.put("CKM_DH_PKCS_KEY_PAIR_GEN", new Long(0x00000020));
                mechansimCodes_.put("CKM_DH_PKCS_DERIVE", new Long(0x00000021));
                mechansimCodes_.put("CKM_RC2_KEY_GEN", new Long(0x00000100));
                mechansimCodes_.put("CKM_RC2_ECB", new Long(0x00000101));
                mechansimCodes_.put("CKM_RC2_CBC", new Long(0x00000102));
                mechansimCodes_.put("CKM_RC2_MAC", new Long(0x00000103));
                mechansimCodes_.put("CKM_RC2_MAC_GENERAL", new Long(0x00000104));
                mechansimCodes_.put("CKM_RC2_CBC_PAD", new Long(0x00000105));
                mechansimCodes_.put("CKM_RC4_KEY_GEN", new Long(0x00000110));
                mechansimCodes_.put("CKM_RC4", new Long(0x00000111));
                mechansimCodes_.put("CKM_DES_KEY_GEN", new Long(0x00000120));
                mechansimCodes_.put("CKM_DES_ECB", new Long(0x00000121));
                mechansimCodes_.put("CKM_DES_CBC", new Long(0x00000122));
                mechansimCodes_.put("CKM_DES_MAC", new Long(0x00000123));
                mechansimCodes_.put("CKM_DES_MAC_GENERAL", new Long(0x00000124));
                mechansimCodes_.put("CKM_DES_CBC_PAD", new Long(0x00000125));
                mechansimCodes_.put("CKM_DES2_KEY_GEN", new Long(0x00000130));
                mechansimCodes_.put("CKM_DES3_KEY_GEN", new Long(0x00000131));
                mechansimCodes_.put("CKM_DES3_ECB", new Long(0x00000132));
                mechansimCodes_.put("CKM_DES3_CBC", new Long(0x00000133));
                mechansimCodes_.put("CKM_DES3_MAC", new Long(0x00000134));
                mechansimCodes_.put("CKM_DES3_MAC_GENERAL", new Long(0x00000135));
                mechansimCodes_.put("CKM_DES3_CBC_PAD", new Long(0x00000136));
                mechansimCodes_.put("CKM_CDMF_KEY_GEN", new Long(0x00000140));
                mechansimCodes_.put("CKM_CDMF_ECB", new Long(0x00000141));
                mechansimCodes_.put("CKM_CDMF_CBC", new Long(0x00000142));
                mechansimCodes_.put("CKM_CDMF_MAC", new Long(0x00000143));
                mechansimCodes_.put("CKM_CDMF_MAC_GENERAL", new Long(0x00000144));
                mechansimCodes_.put("CKM_CDMF_CBC_PAD", new Long(0x00000145));
                mechansimCodes_.put("CKM_MD2", new Long(0x00000200));
                mechansimCodes_.put("CKM_MD2_HMAC", new Long(0x00000201));
                mechansimCodes_.put("CKM_MD2_HMAC_GENERAL", new Long(0x00000202));
                mechansimCodes_.put("CKM_MD5", new Long(0x00000210));
                mechansimCodes_.put("CKM_MD5_HMAC", new Long(0x00000211));
                mechansimCodes_.put("CKM_MD5_HMAC_GENERAL", new Long(0x00000212));
                mechansimCodes_.put("CKM_SHA_1", new Long(0x00000220));
                mechansimCodes_.put("CKM_SHA_1_HMAC", new Long(0x00000221));
                mechansimCodes_.put("CKM_SHA_1_HMAC_GENERAL", new Long(0x00000222));
                mechansimCodes_.put("CKM_RIPEMD128", new Long(0x00000230));
                mechansimCodes_.put("CKM_RIPEMD128_HMAC", new Long(0x00000231));
                mechansimCodes_.put("CKM_RIPEMD128_HMAC_GENERAL", new Long(0x00000232));
                mechansimCodes_.put("CKM_RIPEMD160", new Long(0x00000240));
                mechansimCodes_.put("CKM_RIPEMD160_HMAC", new Long(0x00000241));
                mechansimCodes_.put("CKM_RIPEMD160_HMAC_GENERAL", new Long(0x00000242));
                mechansimCodes_.put("CKM_CAST_KEY_GEN", new Long(0x00000300));
                mechansimCodes_.put("CKM_CAST_ECB", new Long(0x00000301));
                mechansimCodes_.put("CKM_CAST_CBC", new Long(0x00000302));
                mechansimCodes_.put("CKM_CAST_MAC", new Long(0x00000303));
                mechansimCodes_.put("CKM_CAST_MAC_GENERAL", new Long(0x00000304));
                mechansimCodes_.put("CKM_CAST_CBC_PAD", new Long(0x00000305));
                mechansimCodes_.put("CKM_CAST3_KEY_GEN", new Long(0x00000310));
                mechansimCodes_.put("CKM_CAST3_ECB", new Long(0x00000311));
                mechansimCodes_.put("CKM_CAST3_CBC", new Long(0x00000312));
                mechansimCodes_.put("CKM_CAST3_MAC", new Long(0x00000313));
                mechansimCodes_.put("CKM_CAST3_MAC_GENERAL", new Long(0x00000314));
                mechansimCodes_.put("CKM_CAST3_CBC_PAD", new Long(0x00000315));
                mechansimCodes_.put("CKM_CAST5_KEY_GEN", new Long(0x00000320));
                mechansimCodes_.put("CKM_CAST128_KEY_GEN", new Long(0x00000320));
                mechansimCodes_.put("CKM_CAST5_ECB", new Long(0x00000321));
                mechansimCodes_.put("CKM_CAST128_ECB", new Long(0x00000321));
                mechansimCodes_.put("CKM_CAST5_CBC", new Long(0x00000322));
                mechansimCodes_.put("CKM_CAST128_CBC", new Long(0x00000322));
                mechansimCodes_.put("CKM_CAST5_MAC", new Long(0x00000323));
                mechansimCodes_.put("CKM_CAST128_MAC", new Long(0x00000323));
                mechansimCodes_.put("CKM_CAST5_MAC_GENERAL", new Long(0x00000324));
                mechansimCodes_.put("CKM_CAST128_MAC_GENERAL", new Long(0x00000324));
                mechansimCodes_.put("CKM_CAST5_CBC_PAD", new Long(0x00000325));
                mechansimCodes_.put("CKM_CAST128_CBC_PAD", new Long(0x00000325));
                mechansimCodes_.put("CKM_RC5_KEY_GEN", new Long(0x00000330));
                mechansimCodes_.put("CKM_RC5_ECB", new Long(0x00000331));
                mechansimCodes_.put("CKM_RC5_CBC", new Long(0x00000332));
                mechansimCodes_.put("CKM_RC5_MAC", new Long(0x00000333));
                mechansimCodes_.put("CKM_RC5_MAC_GENERAL", new Long(0x00000334));
                mechansimCodes_.put("CKM_RC5_CBC_PAD", new Long(0x00000335));
                mechansimCodes_.put("CKM_IDEA_KEY_GEN", new Long(0x00000340));
                mechansimCodes_.put("CKM_IDEA_ECB", new Long(0x00000341));
                mechansimCodes_.put("CKM_IDEA_CBC", new Long(0x00000342));
                mechansimCodes_.put("CKM_IDEA_MAC", new Long(0x00000343));
                mechansimCodes_.put("CKM_IDEA_MAC_GENERAL", new Long(0x00000344));
                mechansimCodes_.put("CKM_IDEA_CBC_PAD", new Long(0x00000345));
                mechansimCodes_.put("CKM_GENERIC_SECRET_KEY_GEN", new Long(0x00000350));
                mechansimCodes_.put("CKM_CONCATENATE_BASE_AND_KEY", new Long(0x00000360));
                mechansimCodes_.put("CKM_CONCATENATE_BASE_AND_DATA", new Long(0x00000362));
                mechansimCodes_.put("CKM_CONCATENATE_DATA_AND_BASE", new Long(0x00000363));
                mechansimCodes_.put("CKM_XOR_BASE_AND_DATA", new Long(0x00000364));
                mechansimCodes_.put("CKM_EXTRACT_KEY_FROM_KEY", new Long(0x00000365));
                mechansimCodes_.put("CKM_SSL3_PRE_MASTER_KEY_GEN", new Long(0x00000370));
                mechansimCodes_.put("CKM_SSL3_MASTER_KEY_DERIVE", new Long(0x00000371));
                mechansimCodes_.put("CKM_SSL3_KEY_AND_MAC_DERIVE", new Long(0x00000372));
                mechansimCodes_.put("CKM_SSL3_MD5_MAC", new Long(0x00000380));
                mechansimCodes_.put("CKM_SSL3_SHA1_MAC", new Long(0x00000381));
                mechansimCodes_.put("CKM_MD5_KEY_DERIVATION", new Long(0x00000390));
                mechansimCodes_.put("CKM_MD2_KEY_DERIVATION", new Long(0x00000391));
                mechansimCodes_.put("CKM_SHA1_KEY_DERIVATION", new Long(0x00000392));
                mechansimCodes_.put("CKM_PBE_MD2_DES_CBC", new Long(0x000003A0));
                mechansimCodes_.put("CKM_PBE_MD5_DES_CBC", new Long(0x000003A1));
                mechansimCodes_.put("CKM_PBE_MD5_CAST_CBC", new Long(0x000003A2));
                mechansimCodes_.put("CKM_PBE_MD5_CAST3_CBC", new Long(0x000003A3));
                mechansimCodes_.put("CKM_PBE_MD5_CAST5_CBC", new Long(0x000003A4));
                mechansimCodes_.put("CKM_PBE_MD5_CAST128_CBC", new Long(0x000003A4));
                mechansimCodes_.put("CKM_PBE_SHA1_CAST5_CBC", new Long(0x000003A5));
                mechansimCodes_.put("CKM_PBE_SHA1_CAST128_CBC", new Long(0x000003A5));
                mechansimCodes_.put("CKM_PBE_SHA1_RC4_128", new Long(0x000003A6));
                mechansimCodes_.put("CKM_PBE_SHA1_RC4_40", new Long(0x000003A7));
                mechansimCodes_.put("CKM_PBE_SHA1_DES3_EDE_CBC", new Long(0x000003A8));
                mechansimCodes_.put("CKM_PBE_SHA1_DES2_EDE_CBC", new Long(0x000003A9));
                mechansimCodes_.put("CKM_PBE_SHA1_RC2_128_CBC", new Long(0x000003AA));
                mechansimCodes_.put("CKM_PBE_SHA1_RC2_40_CBC", new Long(0x000003AB));
                mechansimCodes_.put("CKM_PKCS5_PBKD2", new Long(0x000003B0));
                mechansimCodes_.put("CKM_PBA_SHA1_WITH_SHA1_HMAC", new Long(0x000003C0));
                mechansimCodes_.put("CKM_KEY_WRAP_LYNKS", new Long(0x00000400));
                mechansimCodes_.put("CKM_KEY_WRAP_SET_OAEP", new Long(0x00000401));
                mechansimCodes_.put("CKM_SKIPJACK_KEY_GEN", new Long(0x00001000));
                mechansimCodes_.put("CKM_SKIPJACK_ECB64", new Long(0x00001001));
                mechansimCodes_.put("CKM_SKIPJACK_CBC64", new Long(0x00001002));
                mechansimCodes_.put("CKM_SKIPJACK_OFB64", new Long(0x00001003));
                mechansimCodes_.put("CKM_SKIPJACK_CFB64", new Long(0x00001004));
                mechansimCodes_.put("CKM_SKIPJACK_CFB32", new Long(0x00001005));
                mechansimCodes_.put("CKM_SKIPJACK_CFB16", new Long(0x00001006));
                mechansimCodes_.put("CKM_SKIPJACK_CFB8", new Long(0x00001007));
                mechansimCodes_.put("CKM_SKIPJACK_WRAP", new Long(0x00001008));
                mechansimCodes_.put("CKM_SKIPJACK_PRIVATE_WRAP", new Long(0x00001009));
                mechansimCodes_.put("CKM_SKIPJACK_RELAYX", new Long(0x0000100a));
                mechansimCodes_.put("CKM_KEA_KEY_PAIR_GEN", new Long(0x00001010));
                mechansimCodes_.put("CKM_KEA_KEY_DERIVE", new Long(0x00001011));
                mechansimCodes_.put("CKM_FORTEZZA_TIMESTAMP", new Long(0x00001020));
                mechansimCodes_.put("CKM_BATON_KEY_GEN", new Long(0x00001030));
                mechansimCodes_.put("CKM_BATON_ECB128", new Long(0x00001031));
                mechansimCodes_.put("CKM_BATON_ECB96", new Long(0x00001032));
                mechansimCodes_.put("CKM_BATON_CBC128", new Long(0x00001033));
                mechansimCodes_.put("CKM_BATON_COUNTER", new Long(0x00001034));
                mechansimCodes_.put("CKM_BATON_SHUFFLE", new Long(0x00001035));
                mechansimCodes_.put("CKM_BATON_WRAP", new Long(0x00001036));
                mechansimCodes_.put("CKM_ECDSA_KEY_PAIR_GEN", new Long(0x00001040));
                mechansimCodes_.put("CKM_ECDSA", new Long(0x00001041));
                mechansimCodes_.put("CKM_ECDSA_SHA1", new Long(0x00001042));
                mechansimCodes_.put("CKM_JUNIPER_KEY_GEN", new Long(0x00001060));
                mechansimCodes_.put("CKM_JUNIPER_ECB128", new Long(0x00001061));
                mechansimCodes_.put("CKM_JUNIPER_CBC128", new Long(0x00001062));
                mechansimCodes_.put("CKM_JUNIPER_COUNTER", new Long(0x00001063));
                mechansimCodes_.put("CKM_JUNIPER_SHUFFLE", new Long(0x00001064));
                mechansimCodes_.put("CKM_JUNIPER_WRAP", new Long(0x00001065));
                mechansimCodes_.put("CKM_FASTHASH", new Long(0x00001070));
                mechansimCodes_.put("CKM_VENDOR_DEFINED", new Long(0x80000000));
            }

            mechanismCode = (Long) mechansimCodes_.get(mechansimName);
        }

        return mechanismCode;
    }
}