code: public static int deduceKeyLength(String cipherSuite, int unknownKeyLength) {
          // Roughly ordered from most common to least common.
          if (cipherSuite == null)
              return 0;
          else if (cipherSuite.contains("WITH_AES_256_"))
              return 256;
          else if (cipherSuite.contains("WITH_RC4_128_"))
              return 128;
          else if (cipherSuite.contains("WITH_AES_128_"))
              return 128;
          else if (cipherSuite.contains("WITH_RC4_40_"))
              return 40;
          else if (cipherSuite.contains("WITH_3DES_EDE_CBC_"))
              return 168;
          else if (cipherSuite.contains("WITH_IDEA_CBC_"))
              return 128;
          else if (cipherSuite.contains("WITH_RC2_CBC_40_"))
              return 40;
          else if (cipherSuite.contains("WITH_DES40_CBC_"))
              return 40;
          else if (cipherSuite.contains("WITH_DES_CBC_"))
              return 56;
          else
              return unknownKeyLength;
      }
docs: Given the name of a TLS/SSL cipher suite, return an int representing it effective stream
  cipher key strength. i.e. How much entropy material is in the key material being fed into the
  encryption routines.
  <p/>
  <p/>
  This is based on the information on effective key lengths in RFC 2246 - The TLS Protocol
  Version 1.0, Appendix C. CipherSuite definitions:
  <p/>
  <pre>
  Effective
  Cipher       Type    Key Bits
  
  NULL       * Stream     0
  IDEA_CBC     Block    128
  RC2_CBC_40 * Block     40
  RC4_40     * Stream    40
  RC4_128      Stream   128
  DES40_CBC  * Block     40
  DES_CBC      Block     56
  3DES_EDE_CBC Block    168
  </pre>
  Copied from org.eclipse.jetty.server.ssl.ServletSSL in Jetty 7.1.6.
  
  @param cipherSuite String name of the TLS cipher suite.
  @param unknownKeyLength The value to attribute when the cipher is not null but not recognised
  @return int indicating the effective key entropy bit-length.