首页 > 编程语言 >支付算法加密和内网穿透原理和应用场景-----软件架构设计

支付算法加密和内网穿透原理和应用场景-----软件架构设计

时间:2024-12-22 11:02:12浏览次数:5  
标签:QQ 支付宝 加密 穿透 ----- 软件架构 IP地址 钥匙 内网

对称加密:加解密使用同一把钥匙
不能在金融领域使用,一旦发送方或者接收方泄露密钥,就会造成严重后果
非对称加密:加解密使用不同的钥匙
发送方发送的密文用A钥匙加密,接收方用B钥匙解锁
接收方用C钥匙加密响应信息,发送方用D钥匙看响应结果
使用RSA算法较多
什么是公钥私钥,加密签名和验证签名
公私钥是相对概念,一对密钥生成后,保存在生成者处的称为私钥
发布出去给大家使用的就是公钥
下面以支付宝为例子:
商户生成的一对钥匙,把私钥留下自己加密使用,将公钥提供给支付宝官方用以解密
一般使用RSA算法做加密
支付宝官方也会对应生成一组钥匙,支付宝自己留下私钥,把公钥给到商户用于解密
为了防止中途传输遭到恶意破坏和数据篡改
还需要配上一段签名,签名部分会被支付宝官方用钥匙解锁
如果得到的信息和传递的数据信息不同,则说明传输的数据遭到了篡改
支付宝处理完商户提交的数据后,将自己的相应信息和响应信息一起的签名信息发送回商户
商户再通过支付宝提供的公钥来反向解密签名内的信息,验证是不是支付宝相应的信息

对称加密:加解密使用同一把钥匙
不能在金融领域使用,一旦发送方或者接收方泄露密钥,就会造成严重后果
非对称加密:加解密使用不同的钥匙
发送方发送的密文用A钥匙加密,接收方用B钥匙解锁
接收方用C钥匙加密响应信息,发送方用D钥匙看响应结果
使用RSA算法较多
什么是公钥私钥,加密签名和验证签名
公私钥是相对概念,一对密钥生成后,保存在生成者处的称为私钥
发布出去给大家使用的就是公钥
下面以支付宝为例子:
商户生成的一对钥匙,把私钥留下自己加密使用,将公钥提供给支付宝官方用以解密
一般使用RSA算法做加密
支付宝官方也会对应生成一组钥匙,支付宝自己留下私钥,把公钥给到商户用于解密
为了防止中途传输遭到恶意破坏和数据篡改
还需要配上一段签名,签名部分会被支付宝官方用钥匙解锁
如果得到的信息和传递的数据信息不同,则说明传输的数据遭到了篡改
支付宝处理完商户提交的数据后,将自己的相应信息和响应信息一起的签名信息发送回商户
商户再通过支付宝提供的公钥来反向解密签名内的信息,验证是不是支付宝相应的信息

内网穿透
别人电脑访问京东商城可以直接访问域名,DNS会解析这个域名获得这个域名所在的公网IP地址
再通过这个公网IP地址找到它的服务
但是我的电脑是没有域名和公网IP地址的,因此会遇到,别人访问我的服务实际上是无法找到我的服务器的
下面以QQ聊天为例子
我的电脑上安装一个QQ,对方电脑安装一个QQ,然后我们两个人都发消息给QQ的服务器
QQ的服务器进行转发我们的消息,这样两边就可以完成通信了
我们也可以通过内网穿透服务商获得一个内网穿透服务器的随机IP地址
别人访问我们这个随机IP地址时,会请求到内网穿透服务商处,该服务商将对应的请求转发到我们的电脑
这样实际上我们就是将内网穿透服务商用作了一个赛博DNS
内网穿透主要用在:开发测试,智慧互联,远程控制,私有云等场景下
智慧互联方面:家庭智能设备连接同一个路由器,路由器家庭连接外网,绑定诸如花生壳子类的
服务商会给我们这个服务器分配一个域名,这样通过访问服务商,我们就可以远程连接到家庭设备

 内网穿透
别人电脑访问京东商城可以直接访问域名,DNS会解析这个域名获得这个域名所在的公网IP地址
再通过这个公网IP地址找到它的服务
但是我的电脑是没有域名和公网IP地址的,因此会遇到,别人访问我的服务实际上是无法找到我的服务器的
下面以QQ聊天为例子
我的电脑上安装一个QQ,对方电脑安装一个QQ,然后我们两个人都发消息给QQ的服务器
QQ的服务器进行转发我们的消息,这样两边就可以完成通信了
我们也可以通过内网穿透服务商获得一个内网穿透服务器的随机IP地址
别人访问我们这个随机IP地址时,会请求到内网穿透服务商处,该服务商将对应的请求转发到我们的电脑
这样实际上我们就是将内网穿透服务商用作了一个赛博DNS
内网穿透主要用在:开发测试,智慧互联,远程控制,私有云等场景下
智慧互联方面:家庭智能设备连接同一个路由器,路由器家庭连接外网,绑定诸如花生壳子类的
服务商会给我们这个服务器分配一个域名,这样通过访问服务商,我们就可以远程连接到家庭设备

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.Alatus.Mall</groupId>
    <artifactId>Mall-order</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Mall-order</name>
    <description>订单模块</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.alatus</groupId>
            <artifactId>Mall-common</artifactId>
            <version>1.0.0</version>
        </dependency>
<!--        支付宝支付接入-->
        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.40.21.ALL</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.Alatus.Mall</groupId>
    <artifactId>Mall-order</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Mall-order</name>
    <description>订单模块</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.alatus</groupId>
            <artifactId>Mall-common</artifactId>
            <version>1.0.0</version>
        </dependency>
<!--        支付宝支付接入-->
        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.40.21.ALL</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

标签:QQ,支付宝,加密,穿透,-----,软件架构,IP地址,钥匙,内网
From: https://blog.csdn.net/2201_75960169/article/details/144631946

相关文章