手机等系统安装软件时一般会进行签名处理;
一、签名原理:
1.签名是根据hash算法或md5算法进行对包文件(apk,exe等文件)计算得出hash值或md5值的过程,这个计算得来的hash值或md5值就是此包文件的签名;
并将此签名保存到整个包文件的指定文件夹中;
但是为了安全处理还要进行加密处理;
二、整个运行流程;
将软件包的拥有者分为两类;一类是开发者D;另一类是使用者U;
开发者签名并加密阶段::
1.开发者D对包文件进行签名;
根据签名算法进行签名得到签名值(hash值或md5值);
2.开发者D对文件进行加密;
使用RSA加密算法进行非对称加密;这里认为使用私钥加密;公钥解密;
通过RSA对签名进行加密后得到新的值记为hsah’或md5′;并将新得到的加密签名替换到原签名(未加密)所在文件夹中,也即是将加密后的签名替换掉未加密的签名;
使用者计算得到的包文件签名并解密原签名阶段
3.使用者对得到的包文件进行同样算法的签名计算;得到hash或dm5值
4.解密包文件中的hash’或md5’值并与计算得到的hash或md5值进行匹配;
相同则说明签名成功;
文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34716 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!