public static CipherProvider getCipherProvider(Configuration conf) {
    String providerClassName =
      conf.get(HConstants.CRYPTO_CIPHERPROVIDER_CONF_KEY, DefaultCipherProvider.class.getName());
    try {
      CipherProvider provider = (CipherProvider) ReflectionUtils.newInstance(
        getClassLoaderForClass(CipherProvider.class).loadClass(providerClassName), conf);
      return provider;
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
Decrypts a block of ciphertext with the symmetric key resolved for the given subject
@param out     plaintext
@param in      ciphertext
@param outLen  the expected plaintext length
@param subject the subject's key alias
@param conf    configuration
@param cipher  the encryption algorithm
@param iv      the initialization vector, can be null
hbase-common/src/main/java/org/apache/hadoop/hbase/io/crypto/Encryption.java