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




Readme

前言

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

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只是一种常见的编码方式,不是加密算法!!!




回到顶部