Android知识技巧总结高级密码学

AES,MD5,RSA,SHA系列等各类加密解读

2017-03-20  本文已影响250人  世外大帝

前言

今天整理了一下加密方面的工具类,顺便把它们共享出来。

GitHub地址:https://github.com/seeways/AndroidUtils

由于工作原因,经常会用到加密相关的,虽然用过很多次了,但是一直都没有整理过相关资料,整理也是给领导看看,除了常用的,基本都是翻翻以前的代码,或者google。

上周用到了,今天又用到了,所以决心整理一下,方便自己,整理过程中,觉得可能别人也会用到,就顺便扩展了一下,怕众人和我刚开始一样懵逼,所以特写此文,亦是说明。

几种常用加密方式

MD5

DES

自从有了AES,DES就每况愈下了,毕竟活了几十年的算法,算是寿终正寝了,不多赘述。

AES

AES加密算法是密码学中的高级加密标准。采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。

SHA系列

常用的安全散列算法

这个主要是给用到数字证书的人群使用的,受信任的证书,一般都是由全国30多家CA办法,其中比较屌的也就那几家,BJCA,GDCA等等,SZCA虽然这几年发展势头不错,但和前几家比起来还有一定差距,这个咱们姑且不管,反正他们都能颁发受信任的证书。

如果你不幸用到,国密标准是在SHA256上改造的,只能帮你到这了,怎么用在工具类中已有说明。

目前工具类中有3中常用的:SHA1SHA256SHA512

RSA系列

如果你不幸用到上面的SHA系列了,那么,这个也是你无法避免的。

不过一般私钥需要通过CA办法,不好封装,只是介绍一下。

符合(大天朝)法律的私钥必须通过硬件介质来承载证书,就是我们说的Key,U盾等等。

BASE64

刚在整理资料的时候,看到有的搜索资料上把这个也列上去了,我想说的是,即使是抄,也负点责任好不好?Base64啥时候成加密算法了??

特此说明一下,Base64只是一种常见的编码方式,不是加密算法!!!

上一篇下一篇

猜你喜欢

热点阅读