android 对称加密和非对称加密,Android开发加密之对称与非对称加密算法使用案例.pdf...

Android开发加密之对称与非对称加密算法使用案例

消息摘要

md5:登录注册, sha1

对称加密

 1.des:Data Encryption Standard,数据加密标准

 2.aes:Advanced Encryption Standard ,更高级的方式

对称加密特点:加密速度快,只有一把钥匙,钥匙泄露文件就暴露

非对称加密

 加密算法:RSA

 特点:

o 秘钥对:私钥和公钥,秘钥对不是指定的,系统生成的

o 私钥自己保留,公钥可以给别人

o 公钥加密、使用解密

o 私钥加密、公钥解密

o 公钥互换:两个组织或者两个人互换公钥

o 数字签名:验证所属关系 (验证私钥在哪里,举例:比如使用支付宝支付,

支付宝它会有我们的公钥)

public class MainActivity extends AppCompatActivity {

private TextView tvResult;

private String data;

private String key;

private boolean isDes;

private boolean isAes;

private boolean isRas;

private String desEncrypt;

private String aesEncrypt;

private String privateKey;

private String publicKey;

private byte[] encryptByPrivateKey;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.content_main);

initView();

data "我的QQ 密码:123456";

key ;

initKeyPair();

}

private void initKeyPair() {

try {

//初始化秘钥对:公钥和私钥

Map keyPair RSACrypt.genKeyPair();

privateKey RSACrypt.getPrivateKey(keyPair);

publicKey RSACrypt.getPublicKey(keyPair);

Log.e("result","privateKey "+privateKey);

Log.e("result","publicKey "+publicKey);

} catch (Exception e) {

e.printStackTrace();

}

}

public void des(View v) {

try {

if (!isDes) {//加密

desEncrypt Des.encrypt(data, key);

tvResult.setText("DES 加密:" + desEncrypt);

} else {//解密

String desDecrypt Des.decrypt(desEncrypt, key);

tvResult.setText("DES 解密:" + desDecrypt);

}

isDes !isDes;

} catch (Exception e) {

e.printStackTrace();

}

}

public void aes(View v) {

if

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值