// Path: android/Commons/src/triaina/commons/exception/SecurityRuntimeException.java
// public class SecurityRuntimeException extends CommonRuntimeException {
// 
// 	private static final long serialVersionUID = 6244026068714272574L;
// 
// 	private String mUrl;
// 
// 	public SecurityRuntimeException() {
// 		super();
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage) {
// 		super(detailMessage);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, String url) {
// 		this(detailMessage);
// 		mUrl = url;
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable) {
// 		super(throwable);
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable, String url) {
// 		this(throwable);
// 		mUrl = url;
// 	}
// 
// 	public String getUrl(){
// 		return mUrl;
// 	}
// }


import java.security.GeneralSecurityException;
import java.security.Key;
import javax.crypto.Cipher;
import triaina.commons.exception.SecurityRuntimeException;
package triaina.commons.utils;





public final class CryptUtils {
    public static final String RSA_ECB_PKCS1_MODE = "RSA/ECB/PKCS1PADDING";

    private CryptUtils() {
    }

    public static byte[] decrypt(String mode, byte[] soruce, Key key) {
        try {
            Cipher cipher = Cipher.getInstance(mode);
            cipher.init(Cipher.DECRYPT_MODE, key);
            return cipher.doFinal(soruce);
        } catch (GeneralSecurityException exp) {
// Path: android/Commons/src/triaina/commons/exception/SecurityRuntimeException.java
// public class SecurityRuntimeException extends CommonRuntimeException {
// 
// 	private static final long serialVersionUID = 6244026068714272574L;
// 
// 	private String mUrl;
// 
// 	public SecurityRuntimeException() {
// 		super();
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage) {
// 		super(detailMessage);
// 	}
// 
// 	public SecurityRuntimeException(String detailMessage, String url) {
// 		this(detailMessage);
// 		mUrl = url;
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable) {
// 		super(throwable);
// 	}
// 
// 	public SecurityRuntimeException(Throwable throwable, String url) {
// 		this(throwable);
// 		mUrl = url;
// 	}
// 
// 	public String getUrl(){
// 		return mUrl;
// 	}
// }


// Path: android/Commons/src/triaina/commons/utils/CryptUtils.java
import java.security.GeneralSecurityException;
import java.security.Key;
import javax.crypto.Cipher;
import triaina.commons.exception.SecurityRuntimeException;

package triaina.commons.utils;





public final class CryptUtils {
    public static final String RSA_ECB_PKCS1_MODE = "RSA/ECB/PKCS1PADDING";

    private CryptUtils() {
    }

    public static byte[] decrypt(String mode, byte[] soruce, Key key) {
        try {
            Cipher cipher = Cipher.getInstance(mode);
            cipher.init(Cipher.DECRYPT_MODE, key);
            return cipher.doFinal(soruce);
        } catch (GeneralSecurityException exp) {
            throw new SecurityRuntimeException(exp);