爱加密

我爱java系列--【加密算法的介绍】

巧了我就是萌 提交于 2019-12-05 01:15:33
1.加密算法 加密算法种类有: 1.1.可逆加密算法 解释: 加密后, 密文可以反向解密得到密码原文. 1.1.1. 对称加密 【 文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥 】 解释: 在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊的加密算法处理后,使其变成复杂的加密密文发送出去,收信方收到密文后,若想解读出原文,则需要使用加密时用的密钥以及相同加密算法的逆算法对密文进行解密,才能使其回复成可读明文。在对称加密算法中,使用的密钥只有一个,收发双方都使用这个密钥,这就需要解密方事先知道加密密钥。 优点: 对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。 缺点: 没有非对称加密安全. 用途: 一般用于保存用户手机号、身份证等敏感但能解密的信息。 常见的对称加密算法有 : AES、DES、3DES、Blowfish、IDEA、RC4、RC5、RC6、HS256 1.1.2. 非对称加密 【 两个密钥:公开密钥(publickey)和私有密钥,公有密钥加密,私有密钥解密 】 解释: 同时生成两把密钥:私钥和公钥,私钥隐秘保存,公钥可以下发给信任客户端. 加密与解密: 私钥加密,持有私钥或公钥才可以解密 公钥加密,持有私钥才可解密 签名: 私钥签名, 持有公钥进行验证是否被篡改过. 优点: 非对称加密与对称加密相比,其安全性更好; 缺点:

我爱java系列---【BCrypt算法】

跟風遠走 提交于 2019-12-05 01:12:30
BCrypt密码加密 BCrypt快速入门 在用户模块,对于用户密码的保护,通常都会进行加密。我们通常对密码进行加密,然后存放在数据库中,在用户进行登录的时候,将其输入的密码进行加密然后与数据库中存放的密文进行比较,以验证用户密码是否正确。 目前,MD5和BCrypt比较流行。相对来说,BCrypt比MD5更安全。 BCrypt 官网 http://www.mindrot.org/projects/jBCrypt/ (1)我们从官网下载源码 (2)新建工程,将源码类BCrypt拷贝到工程 (3)新建测试类,main方法中编写代码,实现对密码的加密 String gensalt = BCrypt.gensalt();//这个是盐 29个字符,随机生成 System.out.println(gensalt); String password = BCrypt.hashpw("123456", gensalt); //根据盐对密码进行加密 System.out.println(password);//加密后的字符串前29位就是盐 (4)新建测试类,main方法中编写代码,实现对密码的校验。BCrypt不支持反运算,只支持密码校验。 boolean checkpw = BCrypt.checkpw("123456","$2a$10$61ogZY7EXsMDWeVGQpDq3OBF1

甲方安全之安卓App第三方加固对比

梦想的初衷 提交于 2019-11-28 07:48:59
前段时间公司要给 Android 应用进行加固,由笔者来选一家加固产品。然后发现,加固产品何其之多,且鱼龙混杂。各种问题也是层出不穷,比如,有些加固时间非常久、有些加固会失败、有些运行会崩溃等等问题。目前笔者已经给老板交了差,想把之前分析的数据整理出来分享给大家。 笔者从主观数据与客户数据两部分对第三方加固做了对比。其中,主观数据主要表现在对操作便捷方面的感受,客户数据就是体现在我们较为关心的各项指标(安全性没法评估,本文跳过了,请各路大神见谅)。 公司产品由于安全隐私问题不方便展示,我从网上随便找来三个应用(如果有冒犯到贵公司的应用,请通知本人删掉),这里将三个应用分别命名为:test1.apk、test2.apk、test3.apk。 01 主观数据 操作体验 • 梆梆安全 加固时需要选择应用类型,可能是梆梆要对 App 做数据统计,在选择好应用类型后,直接点击“提交应用”,即可对应用做加固。个人感觉操作上相对便捷,对于我这种小白用户来说较为友好。 在提交加固后,加固进度条一直处于四分之一状态,不会随着加固进度而改变,这使得用户无法较好地得知当前的加固进度,希望后续能够改进。 • 爱加密 爱加密在上传 APK后需要填写多种配置项,其中包括“应用类型”、“防二次打包”、“infoBeat 数据服务”、“多渠道打包”等,同时还需要同意相关条款才能够进行加固。对于入门级的我来说