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