一、HASH加密
将任意大小的数据通过散列算法变换成固定长度的字符,通常为32位的固定字符,又称hash值。特点:算法公开、不可逆、结果定长。常见的MD5加密。
二、非对称加密
公钥加密,私钥解密,加密过程需要经历很多计算,因此效率很低。明文->公钥->密文 密文->私钥->明文。
支付宝,微信等支付过程需要的签名也是这一原理实现。数字签名流程如下:
三、iOS签名
为避免垃圾应用的安装,破坏应用生态,苹果采用更高级的加密,对应用进行双层代码签名。
1、首先在Mac端生成一对公私钥(xcode自动生成)为公钥M和私钥M;
2、苹果有一对固定的公私钥,私钥在苹果后台,公钥在每个iOS系统中,称公钥A私钥A;
3、把公钥M和开发者信息,上传到苹果后台(CSR文件),用苹果后台里的私钥A去签名公钥M,得到一个含有公钥M和签名的数据包,该包即为证书。
描述文件:包含证书、APPID、设备id、打包后用来证明我们的程序的安全性和合法性。如常用的测试包,需要添加测试人员的udid,苹果需要对其验证后,相应的设备才能安装。签名原理如图:
转载于:https://www.jianshu.com/p/67ac206a965b