加密方式对比

加密从是否可解分为(可逆加密,不可逆加密),可逆又分为(非对称加密、对称加密)

 如图:

 

 

 

 

 

可逆加密(可加可解)

RSA (非对称加密)小数据加密 公钥、私钥 不同 (一般公钥加,私钥解,配合base64使用)

AES (对称加密)大数据加密 共用一把钥匙 (加解同一把钥匙)

 

不可逆加密(不可解)

HASH(国内MD5加盐比较主流)

所谓加盐就是目标数据再拼接上盐(仅前端、后台知道)然后MD5

HMAC  (国外较多)其实是HASH + KEY 分别进行HASH (KEY仅前端、后台知道,用于身份认证)。不同于加盐是分别HASH, 而加盐是加到消息体然后HASH

综上所述:不可逆加密主要是签名认证,消息可以以明文发送,外加签名,主要防篡改。不可逆加密,如果发送密文,完全不可知。

 若要保证数据安全可以自己各种加密组合

 

iOS RSA两种加密方式

1.openssll库 (支付宝就是使用这种方式)

优点:能够用.pem 文件加密。

缺点:openssl需要自己合成,依赖静态库,引入文件需要手动修改headerserchpath 和 libraryserchpath .比较麻烦。也可进行长加密,但要修改东西比较多。且不稳定。

 

2.原生

优点:可以随意加解密(不主张太长),只需要导入secrect.framework(xcode8上发现不导入也可以)。稳定

缺点:公钥.der 私钥.p12 

 

公钥私钥:默认是pem格式,iOS原生支持 公钥.der 私钥.p12。JAVA 要用 私钥pkcs8 公私钥都是pem格式 

 

 参考文章:

CA (Certificate Authority的缩写,也叫“证书授权中心”)

http://blog.csdn.net/cws1214/article/details/16860569

几种加密算法的异同

http://blog.csdn.net/cws1214/article/details/18604075

HASH (MD5(MD全称Message Digest,又称信息摘要算法),SHA1(SHA全称Secure Hash Standard,又称安全哈希标准)… … )加密

http://blog.csdn.net/cws1214/article/details/47177929

http://blog.csdn.net/xn4545945/article/details/36755117 (加盐)

http://www.atool.org/hash.php

HMAC(哈希运算消息认证码(Hash-based Message Authentication Code)国外较多)(其实还是HASH,只不过加入了认证的key)

http://www.cnblogs.com/songhan/archive/2012/07/29/2613898.html

AES加密(高级加密标准(英语:Advanced Encryption Standard)

http://www.jianshu.com/p/16930be4dddc

http://blog.csdn.net/showhilllee/article/details/29597241

http://blog.csdn.net/showhilllee/article/details/29597241

RSA(发明者首字母1977。1973年英国科学家一人发现,但被列为绝密)加密

http://www.huangyibiao.com/archives/244

fopen函数

http://www.cnblogs.com/emanlee/p/4418163.html

openssl库

https://github.com/openssl/openssl

http://www.qmailer.net/archives/216.html

编译openssl库(或者拷贝支付宝demo里的,比较省事)

http://wenku.baidu.com/link?url=hmzlpuIOTFLziMa38V-xLXmMwSRHXROnAYlf98XAAH8K7JWfiQ8H68i2Atmn6J4vuIEHRHFc5P-RtWCL4xa5AhcOtDh3nXlp8eT6S-CL0Nu

RSAPading模式

https://www.douban.com/note/338531480/

RSA密钥生成

http://www.cnblogs.com/KiVen2015/p/5321574.html

RSA原生加密(最好的)

http://blog.csdn.net/zhangmengleiblog/article/details/51362761

在线生成密钥

http://web.chacuo.net/netrsakeypair

 

posted @ 2019-09-06 17:06  小菜看代码  阅读(1041)  评论(0编辑  收藏  举报