SSL与TLS与SSH

SSL、TLS、HTTPS、SSH综述 1.Secure Socket Layer (SSL) SSL是传输层之上,对Socket连接的加密协议。 SSL多用于Internet上,在浏览器和服务器之间的安全传输。 SSL最初是由Netscape研发,版本演变如下: SSLv1(1994)未正式发布 SSLv2(1995) SSLv3(1996,RFC6101) 2014年,人们发现POODLE攻击会造成SSL 3.0的bloc... 阅读详情

SSL:Secure Socket Layer

安全套接字层,网景公司开发。
由于http明文传输,不安全,所以SSL应用而生。SSL是在http和TCP层之间,将http传输的内容进行加密后在发送给TCP进行传输。
加密的方式是非对称加密,在TCP握手过程中传递公钥加密过的随机数,最后使用随机数生成会话秘钥。
SSL非对称加密

TLS:Transport Layer Secure

传输层安全。
是基于SSL3.0,SSL是其前身,是SSL规范化后的产物。TLS更为安全的传输方式,添加了一些新特性。

SSL(Secure Sockets Layer (SSL) and Transport Layer Security (TLS))被设计为加强Web安全传输(HTTP/HTTPS/)的协议(事实上还有SMTP/NNTP等) ,默认使用443端口

SSH:Secure Shell

SSH(Secure Shell)更多的则被设计为加强Telnet/FTP安全的传输协议,为了文件传输安全,默认地,它使用22端口.

SSH安全加密的连接隧道,一般用于远程登录或传输数据。会将传输的所有内容进行加密压缩。一般使用由客户端和远程2方软件共同组成。
可以通过账号密码或者密匙进行登录。

Network 之六 SSH、SSL、OpenSSH、OpenSSL、LibreSSL   在上一篇博文 Linux 之四 Ubuntu 20.04 WiFi 无法使用、设置无法显示、远程桌面、SSH、Git、PPA 等各问题记录 中,曾试图使用远程桌面功能来连接使用我的 Ubuntu 20.04,但实际情况是远程桌面卡的是惨不忍睹,无奈还是得用 SSH 远程登录。   在网上找了很多 SSH 相关的文章,好记性不如烂笔头,这里整理一下,做个备忘录! 什么是 SSH   SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定。 阅读详情

相关推荐

ARCGIS绘制全国各省PM2.5浓度图操作步骤

ArcGIS新手小白一枚,经常需要帮助老师绘制一些简单的空间图,利用ArcGIS绘制全国各省的pm2.5浓度图,简单又方便,不记下来会忘记~

weixin_43458484的博客 1万+

【网络协议】SSL、SSH、TLS

SSL、SSH、TLS简单介绍

LongL_GuYu的博客 2530

手把手教你用Foobar2000播放DSD音频(含DOP设置与SPDIF输出教程)

本文详细指导如何在Foobar2000中播放DSD音频,重点解析了DOP协议的原理与设置方法。通过安装SACD插件、配置输出设备及启用DOP模式,实现DSD音频的原生比特流输出,并特别讲解了如何通过SPDIF接口传输DSD信号,帮助发烧友充分释放高清音频设备的潜力。

weixin_29290963的博客 1820

tls和ssl的区别,ssh和ssl区别

在网络通信和安全领域,TLS(Transport Layer Security)、SSL(Secure Sockets Layer)和SSH(Secure Shell)是常见的加密协议,它们都起着保护数据安全的重要作用。在本文中,我们将探讨TLS和SSL之间的区别,以及SSH与SSL之间的区别,帮助大家更好地理解它们在网络安全中的应用。

Code掘金的博客 1778

间充质干细胞衰老机制与抗衰老干预策略研究

干细胞技术在再生医学领域具有广阔应用前景,其中间充质干细胞(MSCs)因其多向分化潜能和免疫调节特性备受关注。细胞衰老是影响干细胞治疗效果的共性难题,表现为增殖能力下降、端粒缩短等特征。通过表观遗传学分析发现,衰老MSCs存在DNA甲基化异常和组蛋白修饰改变;线粒体功能障碍导致ATP产量锐减,ROS累积显著增加。针对这些机制,研究者开发了包括小分子化合物筛选、CRISPR基因编辑和三维培养优化在内的多种干预策略。这些技术在组织修复、抗衰老治疗等应用场景中展现出重要价值,例如可提升心肌梗死修复效率2.3倍,缩

weixin_33502772的博客 227

海康工业相机硬件触发与YOLOv5实时检测的工业自动化实践

本文详细介绍了如何将海康工业相机的硬件触发模式与YOLOv5目标检测模型相结合,构建一套高实时性的工业自动化质检系统。文章从产线痛点出发,深入解析了硬件接线、SDK回调取图的实战技巧(包括规避常见Bug),并展示了如何将YOLOv5封装为服务,最终通过Flask API串联业务逻辑,实现从精准触发到实时AI判断的完整落地流程。

k6l7m8n9的博客 492

SSH 和 SSL 加密协议

SSH 和 SSL 加密协议的概念及用途

m0_69057918的博客 2982

SwiftUI 5 教程之 SwiftData使用入门(教程含源码)

对我来说,记住日期很难。是的,您可以设置该日期的提醒,但该提醒无法产生紧迫感。让我们创建一个应用程序,我们可以在其中添加将来发生的事件。如果我们可以在主应用程序上看到所有即将发生的活动,那就太好了。也许将它们添加到小部件上以营造紧迫感。对于任何事件,我们需要跟踪哪些事情?我们将在下一篇文章中添加更多属性,其中我们将讨论迁移。现在,这就是我们所需要的。开始吧。

iCloudEnd的博客 987

SSL/TLS 协议、SSL证书 和 SSH协议 的区别和联系

下面是 SSL/TLS 协议、SSL证书 和 SSH协议 的区别和联系,包含它们的英文全称和中文全称:

小丁的博客 1577

【问题解决】本地 Llama / Qwen 运行报错:transformers 版本不兼容、依赖冲突解决

Flask是一个轻量级的Web框架,设计上非常简单和易于扩展。它并不强制使用任何特定的项目结构或工具,这使得开发者能够根据自己的需求自由地设计应用。Flask的灵活性使它成为了许多小型项目和原型开发的理想选择。FastAPI是一个现代的Web框架,基于Python 3.7+,专为构建API而设计。FastAPI的特点是高性能、支持异步操作,并且内置了许多现代Web应用所需的功能,如数据验证和自动生成API文档等。从性能角度看,FastAPI在高并发场景下具有明显优势,特别是在I/O密集型的应用中。

博客 800

基于STM32单片机的智能分拣系统

基于STM32单片机的智能分拣系统是一种高效、精准的自动化分拣解决方案,适用于物流、仓储、制造业等领域。该系统利用STM32单片机作为核心控制器,结合传感器技术、电机控制算法和通信模块,实现对物品的自动识别、分类和分拣。通过智能化的设计,该系统能够大幅提高分拣效率,降低人工成本,并减少错误率。基于STM32单片机的智能分拣系统是一种高效、精准、低成本的自动化解决方案,能够广泛应用于物流、制造、环保等领域。

qq_62634009的博客 1940

SSL TLS HTTP HTTPS SSH 分别是什么意思?

HTTP + SSL/TLS = HTTPS SSL(Secure Sockets Layer,安全套接字协议) TLS(Transport Layer Security,传输层安全协议) HTTP(HyperText Transfer Protocol ,超文本传输协议),让计算机之间可以进行明文数据交换,默认端口80. HTTPS(HyperText Transfer Protocol Secure,超文本传输安全协议),用SSL/TLS对数据加密,再通过HTTP传输,保证数据的安全性,默认端口443

Learn-anything.cn 1335

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

dvlinker的技术专栏 7165

SSL/TLS 和 SSH 工作原理

命令行访问是指用户通过终端或命令行界面与远程服务器进行交互。

张紫娃的博客 2665

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SSH vs SSL/TLS 的不同和相似

虽然SSH和SSL/TLS在创建安全连接方面的作用看起来很相似,但它们的用途非常不同。SSH主要是技术人员的工具。它允许安全登录到远程机器以发出命令、操作文件和管理数据库。另一方面,SSL/TLS是一种加密网站访问者和服务器之间交换数据的机制。它确保敏感信息,如信用卡详细信息和密码,免受中间人攻击。当然,这两者并不相互排斥。SSH可以使用SSL/TLS作为其安全解决方案的一部分。这些通用协议有多种可能的实现。如今,面对我们面临的所有在线威胁,它们是必要的。

DachuiLi的博客 1444

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SSH,SSL和TLS

什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。 最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。 SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对

weixin_45683963的博客 3001

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Other--HTTP、HTTPS、SSL、TLS、SSH、FTP、SFTP

HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。设计目标主要有三个。 (1)数据保密性:保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么 [4] 。 (2)数据完整性:及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收

qq_37233070的博客 3742

详细比较一下 SSH 和 SSL/TLS 这两个在网络安全中至关重要的协议

SSH:像一个高度安全的远程控制台。主要目的是为了安全地访问和管理远程计算机系统(如登录服务器执行命令)。SSL/TLS:像一个通用的安全通信隧道。主要目的是为了保护两个应用程序之间传输的数据(如你的浏览器和网站服务器)。下面我们通过一个表格和详细解释来展开。目的不同:SSH用于安全访问,SSL/TLS用于安全传输。范围不同:SSH是一个完整的应用协议,而SSL/TLS是一个为其他协议提供安全的底层框架。一个有趣的联系:你实际上可以用SSH来创建隧道,以传输SSL流量或其他任何流量。

xixixi7777的博客 832

SSL/TLS、SSH、IPSec等安全协议的工作原理和实现方式

SSL/TLS、SSH、IPSec是三种广泛应用于网络通信中的安全协议,它们各自有不同的工作原理和实现方式。本文将详细讲解三种协议的工作原理和应用场景。

有求必应,有问必答(只要是我能解决的) 2868

SSH2 vs TLS/SSL:终极加密通信协议选择指南

在网络通信安全领域,SSH2和TLS/SSL是两个核心的加密协议,它们各自在不同场景下发挥着重要作用。SSH2(Secure Shell 2)是一种网络协议,专门用于在不安全的网络上提供安全的远程登录和其他安全网络服务。而TLS/SSL则是保护Web通信的主要标准。本文将深入解析这两种协议的核心差异,帮助您做出最适合的选择。 ## 🔐 SSH2协议的核心特性 SSH2是一个强大的安全协议,专

gitblog_00185的博客 1818

使用Nmap获取SSH、SSL\TLS中公钥、cipersutes、签名等相关数据

Nmap工具 相关脚本 ssh-hostkey显示SSH主机的公钥 ssl-enum-ciphers该脚本重复启动SSLv3 / TLS连接,每次在记录主机是否接受时都尝试使用新的密码或压缩程序。最终结果是服务器接受的所有密码套件和压缩器的列表,主要就是返回的主机所使用的密码套件和椭圆曲线。 ssl-cert检索服务器的SSL证书。我主要通过这个脚本获得了以MD5和sha-1输出的签名,但是我还没...

qq_35324057的博客 1万+

ssl/tls ssh_解密SSH / TLS / HTTPS中的“安全”

ssl/tls sshInsecure connections would be the last thing we’d want nowadays. So how do the latest communication protocols manage to have them securely? 不安全的连接将是当今我们想要的最后一件事。 那么,最新的通信协议如何确保它们安全 ? In wh...

weixin_26722031的博客 425

SSH,SSL,TLS,PPP,L2TP,PPTP,IPSEC简介及比较

<br />SSL:指定了一种在应用程序协议(http,telnet,nntp,ftp)和TCP/IP之间提供数据安全分<br />层的机制。为tcp/ip连接提供数据加密,服务器认证,消息完整性以及可选的客户机认证<br />。<br /> SSL与TLS的区别:TLS可以看做是SSL的升级版本,主要区别是所支持的加密算法不同。<br /> <br />SSH:SSH是一种在不安全网络上用户安全远程登陆和其他安全网络服务的协议。它提供了<br />对安全远程登陆,安全文件传输和安全TCP/IP和X-Wi

兼容并蓄终宽阔,若谷虚怀鱼自游 3925

WLAN Security with SSH, SSL, TLS, HTTPS

转自:http://www.dummies.com/how-to/content/wlan-security-with-ssh-ssl-tls-https.html WLAN Security with SSH, SSL, TLS, HTTPS By Edward Tetz from Cisco Networking All-in-One For Dummies

genius_002的专栏 382

SSH/HTTPS安全的本质都依赖于TLS/SSL

1、SSH/HTTPS的安全本质是TLS/SSL。 2、1990年互联网上的网页主要是静态内容,作为信息发布,使用HTTP明文传输是可以的。不过,后来很多公司开始使用网页进行金融交易,例如:股票,于是安全性要求急需。 于是,在1995年,网景(netscape)迅速推出SSL协议,即,安全套接字层,解决了此问题。在1999年,网景把SSL提交给IETF,IETF修改了一些内容,改名称...

weixin_30539625的博客 416
上一篇: vue3.0+axios0.27+vuecli代理跨域配置
下一篇: clientWidth与offsetWidth与scrollWidth
晨灰ash2
博客等级 码龄7年 73粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨灰ash2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值