作者:只因为汰假_汰傻_615 | 来源:互联网 | 2023-10-14 20:31
数字签名的作用是,通过在某个数据上做上标记,表示承认(签字)了这个数据,并发送给了其他人。其他人可能知道这个数据已经被我认证了,数据没有被篡改。我们需要首先用一种算法,算出原始数
数字签名的作用是,通过在某个数据上做上标记,表示承认(签字)了这个数据,并发送给了其他人。 其他人可能知道这个数据已经被我认证了,数据没有被篡改。
我们需要首先用一种算法,算出原始数据的摘要,满足:(1)假如原始数据没有任何变化,那么计算出来的摘要值就都会变化。(2)摘要要短,这里最常用的算法就是MD5.
会生成一份非对称加密的公钥和私钥,私钥自己拿着,公钥公布出去。给一份数据算出摘要,给这个摘要用私钥加密,得到一份加密的数据,被称为原始数据,将他和原始数据一块发送给用户。
用户收到数据和签名以后,使用公钥解密得到摘要,用户用同样的算法计算原始数据到的摘要,对比计算出来的摘要和公钥解密签名得到的摘要是否相等,如果相等则表示这份数据中途没有被篡改过,如果篡改过的话,摘要会变化最简单的苹果签名。
实现这一要求的最简单和最直接的方法是苹果官员生成一对公钥和私钥。iOS内置一个公钥,私钥由苹果公司保存在后台。当我们的APP上传到App Store时,苹果后台用私钥对APP数据进行签名,ios系统下载这个APP以后,用公钥验证这个签名,加入签名正确,这个APP肯定就是由苹果后台认证的,并且也没有被修改过,同时也达到了苹果的需求,保证安装的每一个APP都是经过苹果官方允许的。