/GAE/src/aharisu/tools/SyncBookmarks/Data/Cryption.java
Java | 68 lines | 52 code | 11 blank | 5 comment | 0 complexity | 9e9372f4ad6f4443405199b783fbb016 MD5 | raw file
- package aharisu.tools.SyncBookmarks.Data;
- import java.security.InvalidKeyException;
- import java.security.NoSuchAlgorithmException;
- import javax.crypto.BadPaddingException;
- import javax.crypto.Cipher;
- import javax.crypto.IllegalBlockSizeException;
- import javax.crypto.NoSuchPaddingException;
- import javax.crypto.spec.SecretKeySpec;
- /**
- * 文字列の暗号化と復号化を行うクラス
- * @author aharisu
- *
- */
- public class Cryption {
- private static final String TRANSFORMATION = "Blowfish";
-
- public Cryption() {}
-
- public static byte[] encrypt(String key, String text) {
- SecretKeySpec spec = new SecretKeySpec(key.getBytes(), TRANSFORMATION);
-
- Exception exception;
- try {
- Cipher cipher = Cipher.getInstance(TRANSFORMATION);
- cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, spec);
- return cipher.doFinal(text.getBytes());
- } catch (NoSuchAlgorithmException e) {
- exception = e;
- } catch (NoSuchPaddingException e) {
- exception = e;
- } catch (InvalidKeyException e) {
- exception = e;
- } catch (IllegalBlockSizeException e) {
- exception = e;
- } catch (BadPaddingException e) {
- exception = e;
- }
-
- throw new RuntimeException(exception);
- }
-
- public static String decrypt(String key, byte[] encrypted) {
- SecretKeySpec spec = new SecretKeySpec(key.getBytes(), TRANSFORMATION);
-
- Exception exception;
- try {
- Cipher cipher = Cipher.getInstance(TRANSFORMATION);
- cipher.init(javax.crypto.Cipher.DECRYPT_MODE, spec);
- return new String(cipher.doFinal(encrypted));
- } catch (NoSuchAlgorithmException e) {
- exception = e;
- } catch (NoSuchPaddingException e) {
- exception = e;
- } catch (InvalidKeyException e) {
- exception = e;
- } catch (IllegalBlockSizeException e) {
- exception = e;
- } catch (BadPaddingException e) {
- exception = e;
- }
-
- throw new RuntimeException(exception);
- }
- }