首页 > 其他分享 >登录时,密码+CKEY密码验证

登录时,密码+CKEY密码验证

时间:2024-01-11 15:02:04浏览次数:19  
标签:byteArray 请求 登录 request 密码 CKEY ex 序列化 string

读GCM配置,判定账号是否需要验证;需要验证,就拆分字符串,后六位+剩余部分;post请求去验证

1.AESUtil对称加密

2.HttpWebRequest、HttpWebResponse、StreamReader 

  • 创建请求,获取响应流;
  • 请求分get、post两种方式;(*)
  • 读取响应流信息,用到StreamReader ,string类型的(符合JSON格式的)
  • JSON格式、实体类(实体列表)之间的转化
        public static string HttpPost(string url, string jsonStr)
        {
            HttpWebRequest request = null;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3
                | (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback((sender, certificate, chain, errors) => true);//验证服务器证书回调自动验证
            try
            {
                request = (HttpWebRequest)WebRequest.Create(url);//创建一个HTTP请求
            }
            catch (Exception ex)
            {
                Console.WriteLine("Http Post请求 创建失败!" + ex.Message);
                //throw new Exception("Http请求创建失败", ex);
                return null;
            }
            request.Method = "POST";//Post请求方式 
            request.ContentType = "application/json";//内容类型
            request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36";

            byte[] byteArray;//设置参数,并进行URL编码
            if (jsonStr == null)
            {
                jsonStr = "";
            }
            byteArray = System.Text.Encoding.UTF8.GetBytes(jsonStr);//将Json字符串转化为字节byte数组
            request.ContentLength = byteArray.Length;//设置请求的ContentLength
            Stream writer;
            try
            {
                writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象
            }
            catch (Exception ex)
            {
                Console.WriteLine("获取Http请求写入流失败!" + ex.Message);
                return null;
            }
            writer.Write(byteArray, 0, byteArray.Length);//将请求参数写入流
            writer.Close();//关闭请求流
            HttpWebResponse response;
            try
            {
                response = (HttpWebResponse)request.GetResponse();//获得响应流
            }
            catch (WebException ex)
            {
                Console.WriteLine("获取Http响应流失败!" + ex.Message);
                return null;
            }
            Stream responseStream = response.GetResponseStream();
            StreamReader streamReader = new StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
            string postContent = streamReader.ReadToEnd();
            streamReader.Close();
            return postContent;//Post请求后服务器返回的数据
        }
    }

  

3.C#使用JavaScriptSerializer类实现序列化与反序列化

System.Web.Script.Serialization 命名空间

 

列表→JSON,序列化;JSON→列表,反序列化

C#使用JavaScriptSerializer类实现序列化与反序列化得到JSON_c# javascriptserializer-CSDN博客

 

 

标签:byteArray,请求,登录,request,密码,CKEY,ex,序列化,string
From: https://www.cnblogs.com/zhufeiyan/p/17958598

相关文章

  • RP4VM 如何更改 RecoverPoint 产品系列系统中的默认 root 密码
    最佳做法是将默认系统密码更改为强且唯一的值。与其他Linux应用装置相似,root是RPA/vRPA中权限最高的用户。Root级别用户有权访问RPA/vRPA上的所有命令和文件,并且只能将其分配给组织中的受信任用户。默认情况下,在RecoverPoint中禁用root帐户的远程登录,DellEMC建议根据......
  • 配置通过STelnet登录系统
    拓扑配置查看代码[R2]discurrent-configuration[V200R003C00]#sysnameR2#snmp-agentlocal-engineid800007DB03000000000000snmp-agent#clocktimezoneChina-Standard-Timeminus08:00:00#portallocal-serverloadportalpage.zip#dropillegal-mac......
  • 开篇词|人人都要会点密码学
    开篇词|人人都要会点密码学你好,青椒2020年,庚子年。如果你问我,2020年有什么愿望,我想说,这一年,咱们能不能重启?如果一切真的可以重启,哪些事情是我们可以做得更好的?哪些问题是我们依然无法避免的?如果可以重来,我想,Zoom最想做的,一定是聘用密码学领域的专家,提高研发人员的密码学见识,让......
  • abp 最后登录时间
    1.publicvirtualTaskGetSecurityStampAsync(TUseruser);请问一下abp里面的这个是什么意思,获取什么时间戳?https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.identity.identityuser-1.securitystampStamp是邮戳、印记,Timestamp才是时间戳这和ABP关系不......
  • Java 登录接口不拦截(拦截器)
    0.创建拦截配置类实现WebMvcConfigurer接口,重写addInterceptors方法(接口拦截)重写addResourceHandlers方法(资源拦截)@ConfigurationpublicclassWebMvcConfigureimplementsWebMvcConfigurer{@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){......
  • 【Django开发】美多商城项目第2篇:Django用户注册和登录开发(附代码,已分享)
    本系列文章md笔记(已分享)主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目(4.0版本)含代码和文档。功能包括前后端不分离,方便SEO。采用Django+Jinja2模板引擎+Vue.js实现前后端逻辑,Nginx服务器(反向代理)Nginx服务器(静态首页、商品详情页、uwsgi......
  • 自定义ADFS登录页
    修改adfs登录页公司名称:Set-AdfsGlobalWebContent-CompanyName"ExchangeOWA" 参考:ADFS自定义:https://learn.microsoft.com/zh-cn/windows-server/identity/ad-fs/operations/ad-fs-customization-in-windows-server#custom-themes-and-advanced-custom-themes 修改ADFS登录页......
  • loopy登录注册模板(可跳转其他页面)
    登录页面账户登入扫码登入账号密码记住密码登录注册</div></form></div><scriptsrc="./js/login.js"></script>......
  • 登录界面(flex布局练习)
    练习:登录界面在我们网页制作的过程中经常遇见,所以请你编写一个界面联系一下,这个可以增加一些动画或者是其他的效果,当然越帅越好。请使用flex或者其他布局练习例如: 代码 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content......
  • Excel密码遗失?轻松取消表格保护的实用指南!
    糟糕!加密了的Excel忘记了密码,怎么解开啊?在我们日常工作或者是学习时候,Excel会被经常使用到。我们会通过网络将Excel发送给其他人,但是有时候,为了公司的数据安全或者是保护隐私,防止别人随意修改数据或者是复制数据,通常的办法是给Excel表格加上密码。时间久了,有时候会忘记了密码,怎么......