Skip to content

miaoxiaojie/ZMMEncryption

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

ZMMEncryption

AES,RSA,AES+RSA,base64,MD5,SHA256

AES AES优点 比一般的非对称加密算法速度要快 AES缺点 由于加密与解密的密钥是相同的,如果前后端利用AES进行加密的话,如何保存密钥成了一个非常头疼的问题 注意 AES的秘钥是16字节的,待加密的内容必须是16的倍数,如果不是16的倍数通过补全内容方式进行避免

RSA加密算法 RSA优点 解决了对称加密算法如何保存密钥的问题 RSA缺点 由于RSA算法的原理都是大数计算,使得RSA最快的情况也比对称加密算法慢上好几倍。速度一直是RSA的缺陷,一般来说RSA只用于小数据的加密.RSA的速度是对应同样安全级别的对称加密算法的1/1000左右。 RSA特点 公钥加密,私钥解密。加密的系统和解密系统分开部署。加密的系统不应该同时具备解密的功能 注意 RSA加密的明文最大长度117字节,如果超过117字节则程序会报错

AES+RSA

RSA先对AES的秘钥加密,在接收方对RSA解密得到秘钥,用该秘钥对AES进行解密得到所有明文。

两者结合,传输的数据即安全又快

base64加密

Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法

信息摘要(Hash)

MD5特点 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。 2、容易计算:从原数据计算出MD5值很容易。 3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。 4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。 5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。 6、MD5加密是不可解密的,但是网上有一些解析MD5的,那个相当于一个大型的数据库,通过匹配MD5去找到原密码。所以,只要在要加密的字符串前面加上一些字母数字符号或者多次MD5加密,这样出来的结果一般是解析不出来的。

MD5好处 1、压缩到固定长度128bit,长度小适合互联网传输; 2、相同文件多次压缩的值不变,常用于对文件的是否被篡改的校验; 3、不同文件压缩后出现值冲突的几率很小; 4、md5算法比同类的sha-1计算速度快;

MD5应用

1、一致性验证:MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。

2、数字签名:MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

 3、安全访问认证:MD5还广泛用于操作系统的登陆认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。如在Unix系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。

客户端应用 1、本地数据加密:对NSUserDefaults,qlite,存储文件数据加密,保护帐号和关键信息。 2、URL编码加密:对程序中出现的URL进行编码加密,防止URL被静态分析 3、网络传输数据加密:对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取 4、方法体,方法名高级混淆:对应用程序的方法名和方法体进行混淆,保证源码被逆向后无法解析代码 5、程序结构混排加密:对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低

注意

> MD5虽然说是不可逆的,但是由[于有网站的存在,专门用来查询MD5码](http://www.cmd5.com),所以有的简单的MD5码是可以在这里搜到源码的。为了让MD5码更加安全 涌现了很多其他方法,如加盐。盐要足够长足够乱得到的MD5码就很难查到。

About

AES,RSA,AES+RSA,base64,MD5,SHA256

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published