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);
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值