利用RSA算法做签名和验证签名

最近一直比较忙没有什么时间继续做《大众点评》的仿照案例,后面抽时间出来会继续研究的😢

最近有个项目需要用到rsa算法对数据进行签名和验签,以便于跟后台服务端相互确认数据的安全性保证数据在传输过程中没有被篡改。

网上找了很多的签名和验签的资料,不能不说资料太少。搜索出来的资料都是一个人不知道从哪里搞来的,方法参数说的不清不楚。


(这两个方法根本没法用)

由于我不想在这个上面花费过多的心思,所以最终通过查阅资料找到支付宝的sdk里面对openssl做了封装,同时我确认过代码之后发现他们的sdk封装了签名和验签的功能正好符合我的开发醒目需求。果断引入了部分文件。首次拖入相关文件的话会报编译错误,那是因为openssl的文件找不到。找到下图所在的设置将openssl的文件夹拖入空白路径之中,重新编译即可。


众多周知:RSA算法利用一对非对称密钥(公钥和私钥来主管四个功能)

签名、验证签名、加密、解密

支付宝SDK封装的签名功能:

支付宝SDK封装的验证签名功能:

(构造代理对象)



BOOL status =  [signer verifyString:str withSign:chkValue];//str待验证签名的字符串  chkValue:服务端返回的签名值

在调用支付宝自己封装的验证签名的方法的时候,有些特殊签名串可能在做Base64编码转换的时候会出错,所以我统一利用系统的Base64编码处理字符串,经过测试也是可以使用的。


(这个方法需要我们手动更改)

github传送门:https://github.com/coderCX/XXX-RSA-

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容