热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【iOS开发-93】GET和POST请求的实现步骤,MD5加密方法

(1)GET和POST说明——从URL分析看,GET是不安全的,POST相对更安全一点。——从服务器看,GET是安全的,POST不太安全。注意:尽管利用POST请求时用户无法直接看到数据体,但是通过f

(1)GET和POST说明

——从URL分析看,GET是不安全的,POST相对更安全一点。

——从服务器看,GET是安全的,POST不太安全。


注意:尽管利用POST请求时用户无法直接看到数据体,但是通过firebug等插件,还是可以截取POST请求的数据体的,所以POST也并非很安全。

解决办法:就是加密。(当用户点击注册或者登陆提交之后,所有数据都应该是加密后的数据,这样即使被截取,破译难度也会增加)


(2)所有网络请求统一使用异步请求,以防阻塞,即使用:

NSURLConnection sendAsynchronnousRequest

(3)GET和POST请求步骤

GET

——NSURL,一般是NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"http://localhost:/login.php?username=%@&password=%@",self.u,self,p]];

——NSURLRequest

——NSURLConnection,在block中可以把data数据转换成str格式,输出查看结果。

POST

——NSURL,这里的URL不带参数,一般是http://localhost/login.php

——NSMutableRequest *request,这里的可变request时关键。

——设置方法,默认是GET,request.HTTPMethod=@"POST"

——设置数据体,request.HTTPBody=[str dataUsingEncoding...]这里的HTTPBody是data格式,这里的str可以用firefox截取查看post内容从而来模拟


(4)一般不使用NSURLConnection的代理方法delegate,因为这个技术比较古老,部分功能可以被发送异步连接代替。


(5)密码原则

——不要在本地存储用户安全相关的信息

——数据传输时,都不能明文,也最好不要传输于用户信息安全相关的数据


(6)md5加密,是不可逆的。但是相同的数据加密后的md5码是相同的,所以可以借助http://www.cmd5.com这一类网站,对一些简单地密码进行破解。


(7)利用公钥和私钥的原理进行md5加密,即,获取到用户的信息后(比如是一个字符串str1),然后和公司自己的私钥(一个字符串str2),拼接成一个新的字符串str3,再对这个str3进行md5加密,因为这个私钥str2可能极其复杂,所以尽管用户的密码很简单,但是想要对md5进行破译则几乎难度很大(当然,如果用户密码很简单,那么直接猜估计都会比破译省力的多)。

加密的代码可以在网上搜索:(1)http://blog.csdn.net/z251257144/article/details/8291992;(2)http://www.cocoachina.com/bbs/read.php?tid=97570

大概是:

-(NSString *)MD5{
const char *cStr=[self UTF8String];
unsigned char digest[CC_MD5_DIGEST_LENGTH];

CC_MD5(cStr, strlen(cStr), digest);

NSMutableString *result=[NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];
for (int i=0; i [result appendFormat:@"%02x",digest[i]];
}
return result;
}




推荐阅读
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 微信商户扫码支付 java开发 [从零开发]
    这个教程可以用作了解扫码支付的整体运行过程,已经实现了前端扫码,记录订单,回调等一套完整的微信扫码支付。相关链接:微信支 ... [详细]
  • 【CTF 攻略】第三届 SSCTF 全国网络安全大赛—线上赛 Writeup
    【CTF 攻略】第三届 SSCTF 全国网络安全大赛—线上赛 Writeup ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 基于分布式锁的防止重复请求解决方案
    一、前言关于重复请求,指的是我们服务端接收到很短的时间内的多个相同内容的重复请求。而这样的重复请求如果是幂等的(每次请求的结果都相同,如查 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • 一、新建登录名1.在登录名右侧的文本框中输入新建的管理员账号名称;2.一对单选按钮组中,选择SqlServer身份验证,并输入登录密码;3.勾选强制实施密码策略复选框;(密码策略一 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
author-avatar
christinezzy850
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有