Android 常見的幾種加密方式RSA、CBC的集成

Android Des CBC、RSA加密解密

github 網址:https://github.com/linuxiao/mvn-repo

引入到項目中

Step1:

在工程的build.grade 文件中添加:

repositories {
    jcenter()
    maven { url "https://raw.githubusercontent.com/linuxiao/mvn-repo/master/repository" }
}

Step2:

dependencies {  
  //cbc加密解密
  compile 'cn.com.fujica:des:1.0'  
  //rsa 加密解密
  complie 'cn.com.fujica:rsa:1.0'
} 

使用

  • FujicaRsaHelper
/***
 * 私鑰分段加密數據,每段之間用@符號連接
 * 
 * @param plainText
 *            要加密的字符串
 * @param key
 *            私鑰
 * @return
 */
public static String segmentEncryptDataFromStrByPrivateKey(
        String plainText, String key) ;

/***
 * 私鑰加密數據
 * 
 * @param plainText
 *            要加密的字符串
 * @param key
 *            私鑰
 * @return
 */
public static String encryptDataFromStrByPrivateKey(String plainText,
        String key) ;

/***
 * 私鑰分段解密,每段用@符號連接
 * 
 * @param plainText
 *            分段的密文
 * @param key
 *            私鑰
 * @return
 */
public static String segmentDecryptDataFromStrByPrivateKey(
        String plainText, String key) ;

/***
 * 私鑰解密
 * 
 * @param plainText
 *            密文
 * @param key
 *            私鑰
 * @return
 */
public static String decryptDataFromStrByPrivateKey(String plainText,
        String key) ;

/***
 * 公鑰分段加密數據,每段之間用@符號連接
 * 
 * @param plainText
 *            要加密的字符串
 * @param key
 *            公鑰
 * @return
 */
public static String segmentEncryptDataFromStrByPublicKey(
        String plainText, String key) ;

/***
 * 公鑰加密數據
 * 
 * @param plainText
 *            要加密的字符串
 * @param key
 *            公鑰
 * @return
 */
public static String encryptDataFromStrByPublicKey(String plainText,
        String key);

/***
 * 公鑰分段解密,每段用@符號連接
 * 
 * @param plainText
 *            分段的密文
 * @param key
 *            公鑰
 * @return
 */
public static String segmentDecryptDataFromStrByPublicKey(
        String plainText, String key);

/***
 * 公鑰解密
 * 
 * @param plainText
 *            密文
 * @param key
 *            公鑰
 * @return
 */
public static String decryptDataFromStrByPublicKey(String plainText,
        String key) ;

private final static int offset = 100;

/***
 * 將數據分割爲100個字符的數組
 * 
 * @param s
 *            原始數據
 * @return
 */
public static List<String> rsaString2Array(String s) ;
  • FujicaDes3Helper
 /***
 * CBC解密
 * 
 * @param strKey
 *            key 密鑰 String類型
 * @param decodeString
 *            Base64編碼的密文
 * @return 明文
 * @throws Exception
 */
public static String des3DecodeCBC(String strKey, String decodeString);

/***
 * CBC加密
 * 
 * @param strKey
 *            key 密鑰 String類型
 * @param encodeString
 *            明文
 * @return 密文
 * @throws Exception
 */
public static String des3EncodeCBC(String strKey, String encodeString);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章