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

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

  1. 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )

    文章目录 一.加密解密算法 API 二.编译代理 Application 依赖库 三.解压代理 Application 依赖库 aar 文件 参考博客 : [Android 安全]DEX 加密 ( 常 ...

  2. Android采用AES+RSA的加密机制对http请求进行加密

    前言 最近维护公司APP应用的登录模块,由于测试人员用Fiddler抓包工具抓取到了公司关于登录时候的明文登录信息.虽然使用的是HTTPS的方式进行http请求的,但还是被Fiddler抓到了明文内容 ...

  3. nb-iot链路层加密_Google为低端Android手机和IoT设备创建了更快的加密

    nb-iot链路层加密 Google谷歌 Low-resource Android phones and IoT devices don't have the processing power to ...

  4. IOS 逆向开发(一)密码学 非对称加密RSA

    IOS 逆向开发(一)密码学 RSA 1. 密码学发展简介 2. 非对称加密RSA产生过程 3. RSA 数学原理 3.1 离散对数问题 3.1.1 原根 3.2 欧拉函数Φ 3.3 欧拉定理 3.4 ...

  5. Android 在 NDK 层使用 OpenSSL 进行 RSA 加密

    前言 需求:需要在NDK层对一个Java层的字符串进行RSA加密,然后对加密的结果进行Base64返回到Java层 方案:选择使用OpenSSL来实现. 编译libssl.a和libcrypto.a静 ...

  6. Android 屏幕防偷窥,Android 8.1将发布:启用TLS加密防偷窥

    [中关村在线新闻资讯]10月25日消息,谷歌已经面向开发者放出了Android 8.1的相关预览版本,预计Android 8.1系统距离正式发布也不会太远.现在又有消息称,Android 8.1要启用 ...

  7. Linux加密和安全篇(一)gpg、对称和非对称加密、哈希算法

    对于linux运维工作者而言,加密技术已经很早就用于数据的存储和数据之间的交换.我们可以会为了防止你的网站.服务器或者系统,我们会使用一些手段来防止一些恶意的攻击或者访问.一下就对linux的安全和加 ...

  8. 【Android取证篇】华为手机助手备份加密的版本

    [Android取证篇]华为手机助手备份加密的版本 ​ 在华为手机助手9.1.0.307及之后的版本,备份时会"强制加密",无法选择不加密备份.-[suy] 华为手机助手v9.1. ...

  9. Android 10.0取消系统默认的全盘加密(fstab分区加密)

    1.概述 在原生的android 系统中,默认的是全盘加密,但是后来google 把该选项的权限放给了各手机厂家,各手机厂家可以根据自己的要求是否要默认加密手机,如果手机加密了(即显示手机已加密)用户 ...

最新文章

  1. 学习Python遇到的热门问题整理
  2. 总奖金300万的AI Challenger 2018进入第二阶段,决赛在即!
  3. 使用七牛云和PicGo搭建图床
  4. 7z压缩文档的powershell示例
  5. 2020下半场:10本书教会你学习、思考和生活
  6. 用html+css+js实现一个无限级树形控件
  7. 软件_mongo占用磁盘空间过大
  8. python2.0 s12 day4
  9. 详解:IDEA不能自动加载import问题
  10. linux yum安装python3_在Linux - Centos上安装Python3(上)
  11. 静态对象和非静态对象的区别
  12. android 仿QQ相册
  13. java工商银行项目_工商银行聚合支付,java开发实现
  14. 如何取消笔记本Fn键
  15. 设计师悲剧:你一天内要完成100张海报
  16. 计算机英语测试,计算机专业英语测试
  17. Git分布式版本管理工具
  18. 透视HTTP协议(一) —— HTTP是什么
  19. 花园多层住宅设计CAD施工图教程分享
  20. js的event loop/js内存泄漏

热门文章

  1. 企业是否应该实现对客户需求的快速响应_如何做好企业服务?
  2. 无显示器u盘安装centos_最新版 CentOS 8.1.1911 安装教程及常见问题图文详解
  3. mysql 5.7 insert_MySQL5.7 支持一个表有多个INSERT/DELETE/UPDATE触发器
  4. oracle中or会使索引,为何查询条件中多了 OR 选项,索引就走全扫描?
  5. Flutter快速构建集美观与⾼性能于⼀体的APP
  6. 真机x86 android分辨率,Android-x86入门之--启动参数设置
  7. React后台管理系统-登录页面
  8. 浅谈HTML5中canvas中的beginPath()和closePath()的重要性
  9. npm dev run 报错
  10. 进程间的通信----管道