package com.sromku.simple.storage.security; import javax.crypto.Cipher; import javax.crypto.CipherOutputStream; /** * The algorithm of the {@link Cipher}. Those algorithms could be used while * encrypting the files by using {@link CipherOutputStream}. <br> * <br> * * <em>http://developer.android.com/reference/javax/crypto/Cipher.html</em> * <em>http://docs.oracle.com/javase/7/docs/api/javax/crypto/Cipher.html</em> * <em>http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Cipher</em> * * @author Roman Kushnarenko - sromku (sromku@gmail.com) * */ public enum CipherAlgorithmType { /** * Advanced Encryption Standard as specified by NIST in FIPS 197. Also known * as the Rijndael algorithm by Joan Daemen and Vincent Rijmen, AES is a * 128-bit block cipher supporting keys of 128, 192, and 256 bits. */ AES("AES"), /** * The Digital Encryption Standard. */ DES("DES"), /** * Triple DES Encryption (also known as DES-EDE, 3DES, or Triple-DES). Data * is encrypted using the DES algorithm three separate times. It is first * encrypted using the first subkey, then decrypted with the second subkey, * and encrypted with the third subkey. */ DESede("DESede"), /** * The RSA encryption algorithm */ RSA("RSA"); private String mName; private CipherAlgorithmType(String name) { mName = name; } /** * Get the algorithm name of the enum value. * * @return The algorithm name */ public String getAlgorithmName() { return mName; } }