”线下场所“是商户展示自己的商户二维码,用户进行扫描并输入金额
“公众号场景”是指用户在微信内进入商家的公众号内进行支付
“PC网站场景”是用户在网站中展示一个二维码,用户进行扫描
1.3 小程序支付
在小程序中下单并且进行支付
1.4 Native支付
商户展示支付二维码,用户扫一扫完成支付的模式,这种方式适用于pc网站
之前提到的JSAPI支付也适用于pc网站的情景
Native支付是用户扫描二维码后直接展示由商家指定的的支付金额
JSAPI支付是用户扫描二维码后需要由用户自己去输入一个支付金额
1.5 APP支付
是指商户通过在移动端独立的APP应用程序中集成微信支付模块从而完成支付流程的一种方式。
这种支付方式我们需要有一个APP,例如向美团
1.6 刷脸支付
用户在刷脸设备前通过摄像头刷脸,然后识别身份后进行的一种支付方式,适用于线下实体场所的一个收银场景
二、接入指引
2.1 获取商户号
我们接下来都用PC端进行练习
下面是接入流程,在上面的页面往下翻
之后根据步骤填写信息即可
完成后进行登录,就可以看到后台页面了
后台中会有一个登录账号,这个账号就是我们的商户id
2.2 获取AppID
我们下面进行第三步“绑定场景”,在这个步骤中我们需要一个AppId
将AppId和刚刚申请到的商户号进行关联
怎么申请AppID?我们需要申请一个微信公众号
在此处进行注册
账号的类型选择服务号
按照下面的步骤进行填写
等待一到两个工作日后,我们就可以将此步骤获取到AppId与上一个步骤获取到的商户号进行绑定
在页面的首页,找到菜单栏当中的设置与开发
2.3 绑定商户号与AppId
进入到网址:https://pay.weixin.qq.com/
下面的截图是视频中的截图
此步骤完成后,在公众号这边会收到一个申请绑定的消息,点击同意即可
2.4 获取秘钥和证书
重新回到商户平台微信支付 - 中国领先的第三方支付平台 | 微信支付提供安全快捷的支付方式 (qq.com)
选择“账户中心”
之后选择左侧菜单栏中“安全中心”下的“API安全”
之后我们会看到三个参数
API秘钥对应V2版本的API
API v3秘钥对应V3版本的API
2.4.1 申请API秘钥
API秘钥对应V2版本的API
API v3秘钥对应V3版本的API
API秘钥:专门针对V2版本的API设置的秘钥。
如果是第一次设置,后面就是一个设置按钮,如果不是第一次,后面就是一个修改按钮
APIV3秘钥:如果我们想接入的版本是APIv3版本,就需要设置APIv3秘钥(与设置API秘钥一个样)
如果是一次的话,后面的按钮时设置,不是第一次的话,后面的按钮是修改
我们可以借助一个随机密码生成器生成随机密码 - 密码生成器 - 密码批量生成器 (bmcx.com)
2.4.2 申请API证书
如果我们接入的是APIv3这个版本,在所有的API接口当中,我们都需要去使用这个API证书
如果我们接入的是APIv2版本的话,只需要在一些高级接口,比如说退款、企业红包、企业退款等等接口当中使用我们的API证书,在基本的支付流程中是不需要使用API证书的
如何申请证书?
之后按照要求填写即可
下载一个证书工具,下载完后进行解压,安装
填写信息的时候注意,商户名称要和营业执照的名称保持一致
将下面的请求串复制到我们的商户平台中
也就是粘贴到下面的框框中
之后会生成一个证书串,进行复制
然后再打开证书工具,粘贴找下面的位置,点击下一步
现在我们就可以查看证书文件
也就是下面的这种压缩包,一定要妥善的保管起来
三、支付安全
3.1 对称加密与非对称加密
实现机密性最常用的手段就是加密,只有有特殊钥匙(密钥)的人才能对加密的文本进行解密
明文:加密前的消息
密文:加密后的文本
解密:使用密钥还原明文的过程
加密算法是公开的,但是密钥是保密的
密钥:一个字符串,度量单位是bit,如密钥长度128个bit位,就是16字节的二进制串
按照密钥的使用方式,加密可以分为两大类:对称加密和非对称加密
对称加密:加密和解密的时候使用的密钥是同一个,是对称的,只要保证了对称的安全性,那通信过程就可以说具有了机密性
AES加密算法:密钥长度128、192或256,安全强度很高,性能很好,应用最为广泛的加密算法
加密分组模式:将明文分组加密,微信支付中使用AEAD_AES_256_GCM
非对称加密:有两个密钥,一个公钥publicKey,一个私钥privateKey。公钥可以公开给任何人使用,而私钥必须是严格保密的
使用公钥加密后只能使用私钥解密,反过来,私钥解密后也只能公钥解密
RSA加密算法:最著名的非对称加密算法
3.1.1 优缺点
对称加密
- 优点:运算速度快
- 缺点:秘钥需要信息交换的双方共享,一旦被窃取,消息会被破解
非对称加密
- 优点:私钥严格保密,公钥任意分发,黑客获取公钥无法破解密文
- 缺点:运算速度非常慢
3.2 身份认证
有了对称加密与非对称加密后,离安全性还差的挺远
Pat、Doug、Susan三个人有Bob的私钥
Susan发信与Bob收信的时候
如果Bob也想给Susan写信,这个时候Susan也要有自己的公钥和私钥,然后将公钥分给他的朋友们
假如我们使用私钥加密,公钥解密会出现什么效果呢?
Bob用自己的私钥对信进行了加密,那Susan、Doug、Pat三个人都可以对Bob的信进行解密
私钥加密,公钥解密并不是为了实现加密
Bob用私钥加密的信Susan用公钥解开,这表明Susan能够确认这封信确实是Bob发出的,而不是别人
私钥加密,公钥解密的作用其实就是为了身份验证
3.3 数字签名
Bob决定给Pat写一封不加密的信件,但是要保证Pat收到的信没有被篡改过,也就是说要保证信息的完整性
实现完整性的手段主要是摘要算法,也就是常说的散列函数、哈希函数
- Bob写完信之后先用摘要算法生成信件原文的摘要MessageDigest
- Bob将摘要附在信件原文的下面,一起发送给pat
- Pat收到信之后也是两个步骤,Pat使用和Bob一样的摘要算法,加密信件的原文,得到信件的摘要
- Pat将加密后的摘要和Bob在原文中附加的摘要做一个对比,如果一致说明信件是没有被篡改过的
但是有一个漏洞,如果信件被黑客截获,并且黑客直接修改了原文,然后生成新的摘要,附加在原文的下面,伪装成原信件和原摘要
此时Pat是判断不出来的
因此摘要算法不具有机密性
如何真正保证数据无法被篡改?
一定要加入秘钥,确保信息的机密性
具体的流程如下
- Bob写完信后先用摘要算法生成信件的摘要
- Bob使用自己的私钥将将摘要加密,加密后的结果称之为数字签名
- Bob将数字签名附在信的原文下面,一起发给Pat
- Pat收信后,取下数字签名,用Bob的公钥解密得到信件的摘要
- Pat使用和Bob一样的摘要算法加密信件原文,得到信件的摘要
- Pat根据原文生成的摘要与Bob传输过来的摘要进行比对,如果一致就说明是Bob发的,并且是没有经过篡改的
1,2,3过程叫做签名流程
4,5,6过程叫做验签,验证签名
黑客无法获取Bob的私钥,我们也是能够保证信息的机密性
微信中签名与验签就是这个原理
3.3.1 摘要算法介绍
一个任意长度的字符串Z数据经过哈希运算之后会得到固定长度的字符串数据H,那我们就说H就是自己的哈希结果,又称作数据指纹或摘要
MD5就是一个非常典型的摘要算法
摘要算法特点
1.不可逆:只有算法,没有秘钥,只能加密,不能解密
AES算法属于对称加密的一种,需要一个秘钥去加密和解密
RSA算法是非对称加密的典型算法,需要公钥和私钥
对称加密和非对称加密,解密的时候都是需要钥匙的,但是摘要算法是没有密钥的,也是不能解密的
2.难题友好性:想要破解,只能暴力枚举
3.发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化(雪崩效应)
4.抗碰撞性:原文不同,计算后的摘要也要不同
可能会有两份不同的原文对应同一份摘要
如何自学黑客&网络安全
黑客零基础入门学习路线&规划
初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些笔者自己买的、其他平台白嫖不到的视频教程。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!