加密,解密

Posted 甘林梦的开发之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加密,解密相关的知识,希望对你有一定的参考价值。

1. ios 常用加密,解密方式:MD5, Base64, AES, DES 

其中MD5是不可逆转的加密,通常用于密码明文加密。其他均为可逆,可进行加密,解密。

在iOS中实现以上加密,解密,需要引入相关库,并进行c语言编程,实际开发中会借助于将c语言封装的第三方库或者自己封装。

> MD5 见代码 CusMD5

> Base64 一般使用GTMBase64 ,也可以使用iOS7后系统封装好的。下载地址:https://github.com/r258833095/GTMBase64

因此代码中涉及MRC的编码,所以需要将GTMBase64.m文件在Build Phases - Compile Sources 下设置混编选项 -fno-objc-arc

> AES 使用密匙的区块加密,替代原先的DES,对称密匙加密。 可使用 AESCrypt-ObjC ,下载地址:https://github.com/Gurpartap/AESCrypt-ObjC 

> DES 使用密匙加密的块算法 出现的比AES早。 

 

上述几种加密方式,基于iOS自带加密库<CommonCrypto/CommonCryptor.h>实现,在开发中有时会组合使用,要注意与服务端沟通加密解密规则,以免产生数据不一致,无法解密等情况。

 

[扩展]

RSA加密解密,公匙用来加密,私匙用来解密

以上是关于加密,解密的主要内容,如果未能解决你的问题,请参考以下文章

RSA 加密解密

Delphi RSA加解密 (RSA公钥加密,私钥解密)(RSA私钥加密,公钥解密)MD5加密SHA加密

如何使用Base64进行加密和解密

为啥公钥加密只能私钥解密而不能公钥解密

java密码加密与解密

js中常见的数据加密与解密的方法