Asp.net的加密解密技巧

ASP.NET C# 通过URL加密解密传输数据 需求 使用HTML模板发送邮件,邮件中含有一个链接,点击链接打开浏览器,完成相应功能。 分析 链接使用http://www.******.com?id=123456&name=Nicholas这种URL后面加连接字符串的形式。 问题 问号后面的字符串是明文,不能传输一些敏感数据,并且容易遭到篡改。 解决方法 将问号后面的字符串加密,需要的时候再解密。 使用html模板发送电子邮件在 阅读详情

对于加密和解密,我们都知道。下面主要介绍的是ASP.NET中的加密和解密。

一、数据加密/编码算法列表

常见用于保证安全的加密或编码算法如下:

1、常用密钥算法

密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括:

DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 

3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高; 

RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快; 

IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性; 

RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的; 

DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准); 

AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法; 

BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快; 

其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。

2、单向散列算法

单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:

MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值; 

SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值; 

MAC(Message Authentication Code):消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。HMAC(用于消息认证的密钥散列法)就是这种函数的一个例子。 

CRC(Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输差错检测地一种很好的手段(CRC 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类)。

3、其它数据算法

其它数据算法包括一些常用编码算法及其与明文(ASCII、Unicode 等)转换等,如 Base 64、Quoted Printable、EBCDIC 等。

二、算法的 .NET 实现

常见的加密和编码算法都已经在 .NET Framework中得到了实现,为编码人员提供了极大的便利性,实现这些算法的名称空间是:System.Security.Cryptography。

System.Security.Cryptography 命名空间提供加密服务,包括安全的数据编码和解码,以及许多其他操作,例如散列法、随机数字生成和消息身份验证。

System.Security.Cryptography 是按如下方式组织的:

1、私钥加密

私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。

.NET Framework 提供以下实现私钥加密算法的类:

  • DES:DESCryptoServiceProvider
  • RC2:RC2CryptoServiceProvider
  • Rijndael(AES):RijndaelManaged
  • 3DES:TripleDESCryptoServiceProvider

2、公钥加密和数字签名

公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以被任何人使用;该密钥用于加密要发送到私钥持有者的数据。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。

.NET Framework 提供以下实现公钥加密算法的类:

  • DSA:DSACryptoServiceProvider
  • RSA:RSACryptoServiceProvider

3、哈希(Hash)值

哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。

.NET Framework 提供以下实现数字签名算法的类:

  • HMAC:HMACSHA1 (HMAC 为一种使用密钥的 Hash 算法)
  • MAC:MACTripleDES
  • MD5:MD5CryptoServiceProvider
  • SHA1:SHA1Managed、SHA256Managed、SHA384Managed、SH7747.net12Managed

4、随机数生成

加密密钥需要尽可能地随机,以便使生成的密钥很难再现,所以随机数生成是许多加密操作不可分割的组成部分。

在 .NET Framework 中,RNGCryptoServiceProvider 是随机数生成器算法的实现,对于数据算法,.NET Framework 则在其它命名空间中实现,如 Convert 类实现 Base 64 编码,System.Text 来实现编码方式的转换等。

从以上来看,.NET Framework 对于数据加密/编码还是支持比较好,大大地方便了开发人员,但美中不足的是,.NET Framework 中的数据加密算法仍然不够完全,如 IDEA、BLOWFISH、其它算法,如ElGamal、Deffie-Hellman、ECC 等,对于一些其它的数据校验算法支持也不够,如 CRC、SFV 等,开发人员只能去从早期代码做移植或者寻找第三方厂商的实现。

下面本就简单介绍在项目中常用的加密及解密的方法

一、MD5加密算法

[.NET类库中自带的算法 MD5是个不可逆的算法 没有解密的算法]

其实在ASP.Net编程中加密数据。在DotNet中有自带的类:

  1. System.Web.Security.HashPasswordForStoringInConfigFile()  
  2. public string md5(string str,int code)  
  3. {  
  4. if(code==16) //16位MD5加密(取32位加密的9~25字符)  
  5. {  
  6. return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5")
  7. .ToLower().Substring(8,16) ;  
  8. }  
  9. if(code==32) //32位加密  
  10. {  
  11. return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5")
  12. .ToLower();  
  13. }  
  14. return "00000000000000000000000000000000";   
  15. } 

简单的使用:

  1. //--导入所需要的包  
  2. using System.IO;  
  3. using System.Text;  
  4. using System.Security.Cryptography; 

(1)MD5普通加密

  1. //获取要加密的字段,并转化为Byte[]数组  
  2. byte[] data = System.Text.Encoding.Unicode  
  3. .GetBytes(TextBox1.Text.ToCharArray());  
  4. //建立加密服务  
  5. System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();  
  6. //加密Byte[]数组  
  7. byte[] result = md5.ComputeHash(data);  
  8. Label1.Text = "MD5普通加密:" + System.Text.Encoding.Unicode.GetString(result); 

(2)MD5密码加密[常用]

  1. Label1.Text = "MD5密码加密:" + System.Web.Security.FormsAuthentication
  2. .HashPasswordForStoringInConfigFile(TextBox1.Text, "MD5"); 

(3)ASP.NET中加密与解密QueryString的方法[常用]

  1. //加密   
  2. Response.Redirect("DetailInfo.aspx?id=" + Convert.ToBase64String  
  3. (System.Text.Encoding.Default.GetBytes("whaben")).Replace("+","%2B"));  
  4. //解密  
  5. string ID = System.Text.Encoding.Default.GetString  
  6. (Convert.FromBase64String(Request.QueryString["id"].ToString().Replace("%2B","+"))); 

二、DES加密及解密的算法[常用密钥算法]

简单的使用:

  1. //--导入所需要的包  
  2. using System.IO;  
  3. using System.Text;  
  4. using System.Security.Cryptography;  
  5. public static string Key = "DKMAB5DE";//加密密钥必须为8位  
  6. //加密算法  
  7. public static string MD5Encrypt(string pToEncrypt)  
  8. {  
  9. DESCryptoServiceProvider des = new DESCryptoServiceProvider();  
  10. byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);  
  11. des.Key = ASCIIEncoding.ASCII.GetBytes(Key);  
  12. des.IV = ASCIIEncoding.ASCII.GetBytes(Key);  
  13. MemoryStream ms = new MemoryStream();  
  14. CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);  
  15. cs.Write(inputByteArray, 0, inputByteArray.Length);  
  16. cs.FlushFinalBlock();  
  17. StringBuilder ret = new StringBuilder();  
  18. foreach (byte b in ms.ToArray())  
  19. {  
  20. ret.AppendFormat("{0:X2}", b);  
  21. }  
  22. ret.ToString();  
  23. return ret.ToString();  
  24. }  
  25. //解密算法  
  26. public static string MD5Decrypt(string pToDecrypt)  
  27. {  
  28. DESCryptoServiceProvider des = new DESCryptoServiceProvider();  
  29. byte[] inputByteArray = new byte[pToDecrypt.Length / 2];  
  30. for (int x = 0; x < pToDecrypt.Length / 2; x++)  
  31. {  
  32. int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));  
  33. inputByteArray[x] = (byte)i;  
  34. }  
  35. des.Key = ASCIIEncoding.ASCII.GetBytes(Key);  
  36. des.IV = ASCIIEncoding.ASCII.GetBytes(Key);  
  37. MemoryStream ms = new MemoryStream();  
  38. CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);  
  39. cs.Write(inputByteArray, 0, inputByteArray.Length);  
  40. cs.FlushFinalBlock();  
  41. StringBuilder ret = new StringBuilder();  
  42. return System.Text.Encoding.ASCII.GetString(ms.ToArray());  
  43. } 

三、RSA加密及解密的算法[常用密钥算法]

简单的使用:

  1. //--导入所需要的包  
  2. using System.Text;  
  3. using System.Security.Cryptography;  
  4. //加密算法  
  5. public string RSAEncrypt(string encryptString)  
  6. {  
  7. CspParameters csp = new CspParameters();  
  8. csp.KeyContainerName = "whaben";  
  9. RSACryptoServiceProvider RSAProvider = new RSACryptoServiceProvider(csp);  
  10. byte[] encryptBytes = RSAProvider.Encrypt(ASCIIEncoding.ASCII.GetBytes(encryptString), true);  
  11. string str = "";  
  12. foreach (byte b in encryptBytes)  
  13. {  
  14. str = str + string.Format("{0:x2}", b);  
  15. }  
  16. return str;  
  17. }  
  18. //解密算法  
  19. public string RSADecrypt(string decryptString)  
  20. {  
  21. CspParameters csp = new CspParameters();  
  22. csp.KeyContainerName = "whaben";  
  23. RSACryptoServiceProvider RSAProvider = new RSACryptoServiceProvider(csp);  
  24. int length = (decryptString.Length / 2);  
  25. byte[] decryptBytes = new byte[length];  
  26. for (int index = 0; index < length; index++)  
  27. {  
  28. string substring = decryptString.Substring(index * 2, 2);  
  29. decryptBytes[index] = Convert.ToByte(substring, 16);  
  30. }  
  31. decryptBytes = RSAProvider.Decrypt(decryptBytes, true);  
  32. return ASCIIEncoding.ASCII.GetString(decryptBytes);  
  33. } 
在ASP.Net中实现RSA加密的方法 在我们实际运用中,加密是保证数据安全的重要手段。以前使用ASP时,对数据加密可以使用MD5和SHA1算法,这两种算法虽然快捷有效,但是无法对通过它们加密的密文进行反运算,即是解密。因此需要解密数据的场合,这两种方法就不太适合了。当然你也可以自己编写适用的加密和解密程序,不过这对编写者的数学水平有很高的要求,一般人是很难做到的。 现在,随着ASP.Net的推出,彻底改变了以前ASP下的编程模式。我们能够利用.Net Framework中的类提供的加密服务来保证数据安全。目前应用较为广泛的加密方法是使用RSA算法进行加密。在.Net Framework中与RSA加密算法相关的类主要有两个:RSA 立即下载

相关推荐

Selenium实战:突破反爬,自动化抓取国家知识产权局专利数据

网络爬虫是数据采集的核心技术,其原理是通过程序模拟浏览器行为,自动访问网页并提取结构化信息。在数据驱动决策的今天,高效获取公开数据对市场分析、技术调研和竞争情报至关重要。然而,面对广泛应用的JavaScript动态渲染和反爬虫机制,传统的静态页面抓取方法往往失效。Selenium作为浏览器自动化工具,通过驱动真实浏览器执行JavaScript,能够有效绕过前端反爬,实现“可见即可得”的数据抓取,在需要与页面进行复杂交互或处理动态内容的场景中价值显著。本文以【专利数据】抓取为例,结合【Selenium】工具,

weixin_33881140的博客 392

数据加密算法

 数据加密算法 目前企业面临的计算环境和过去有很大的变化,许多数据资源能够依靠网络来远程存取,而且越来越多的通讯依赖于公共网络公共网络(如 Internet),而这些环境并不保证实体间的安全通信,数据在传输过程可能被其它人读取或篡改。加密将防止数据被查看或修改,并在原本不安全的信道上提供安全的通信信道,它达到以下目的:保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。

SmartJavaer的专栏 1680

告别密码烦恼:用Windows Server NPS给公司Wi-Fi和有线网加一道MAC地址白名单(附H3C交换机配置)

本文详细介绍了如何利用Windows Server NPS(网络策略服务器)与H3C交换机实现MAC地址白名单认证,为企业Wi-Fi和有线网络提供零密码安全方案。通过配置NPS服务器、网络策略及H3C交换机联调,实现无感知认证体验,降低运维负担,同时满足审计追溯需求。适用于中小企业网络管理,提升安全性与便捷性。

weixin_42535703的博客 367

数据加密——MD5、SHA、AES、RSA

数据加密分为单向加密、对称加密和非对称加密。单向加密常用算法有MD5和SHA系列,对称加密常用算法有DES、3DES、AES,非对称加密常见算法有RSA、ECC这里的数据可以是用户名、密码、文本、图片、PDF,小到几百b,达到几十G。一般而言,如果不是搞信息安全的,了解这些加密方式的优缺点和适用场景即可,不用去看其实现原理。(更详细的直接看参考链接)

enternalstar的博客 3863

(一)Tushare Pro教程:股票基本数据接口

 一直使用tushare作数据源,这里开个教程大家一起学习。 一、介绍        tushare是一个python股票数据源,现已升级到tushare pro版本,新版本在数据稳定性和获取速率上大幅提升。与wind、东财等收费数据源相比,tushare pro算是金融数据界的良心之作,其为从事金融工程、量化研究等方向的同学们提供了便利。tushare pro还有一点突出的特色就是已经将股票...

虎毛的博客 4万+

用angr找到strcpy的栈溢出漏洞

这篇文章其实是分析angr文档里给出的一个挖漏洞的小例子。 原文链接在此:https://docs.angr.io/examples#beginner-vulnerability-discovery-example-strcpy_find 这是第一个用angr在二进制里找可利用条件的教程。第一个例子是一个非常简单的程序。这个angr脚本会从程序的entry到strcpy找到一条路径。(只有我们能够控制strcpy的参数的时候) 为了找到正确的路径,angr需要去算一个密码参数,算这个密码,angr只要2s

^_^ 1220

加密方式MD5、SHA、BASE64、AES、RSA

加密方式

qq_14931305的博客 2709

zemax 如何编译用户自定义DLL(含VS下载教程)

zemax 如何编译用户自定义DLL(含VS下载教程)

weixin_72050316的博客 491

Asp.Net 密码加密技术

asp.net 密码加密技术,主要应用与对客户的密码进行加密,保护客户信息! 首先看一下页面部分的代码<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestEncrypt._Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

守护明天的博客 2433

YOLOv11在STM32H7上的MCU部署实战:基于CMSIS-NN的高效推理实现

嵌入式AI与MCU部署技术解析 本文系统介绍了基于STM32H7微控制器的YOLOv11模型部署方案。主要内容包括: 边缘计算背景下MCU的AI部署优势与挑战,重点分析了STM32H7平台特性 YOLOv11模型的结构优化,包括E-ELAN骨干网络和Meta-ACON激活函数等改进 CMSIS-NN加速库的架构原理,在STM32H743上可实现5.4倍卷积加速 完整的开发环境搭建流程,涵盖硬件选型、工具链配置和模型转换 模型优化关键技术,包括int8量化、剪枝和内存占用优化等 实验表明,该方案在保持模型精度

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 853

把 LangGraph 当“工作流引擎”用:与传统 BPM 的差异与融合策略

首先,我们来回顾一下有限状态机(FSM)的基本定义——一个 FSM 可以用一个五元组MQΣδq0FMQΣδq0​FQQQ有限状态集合,包含 FSM 所有可能的状态;Σ\SigmaΣ有限输入字母表,包含 FSM 所有可能的输入;δ\deltaδ状态转移函数,定义了 FSM 从当前状态q∈Qq \in Qq∈Q接收输入σ∈Σσ∈Σ后,转移到的下一个状态q′∈Qq' \in Qq′∈Q,即δQ×Σ→QδQ×Σ→Q。

AI 原生应用开发的博客 227

Asp.net的加密解密技巧--[转载]

对于加密和解密,我们都知道。下面主要介绍的是ASP.NET中的加密和解密。 一、数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1、常用密钥算法 密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于...

weixin_34162695的博客 147

YOLOv11改进 - 卷积Conv | RFAConv:感受野注意力卷积动态调整感受野,提升小目标检出精度

本文介绍了感受野注意力卷积(RFAConv)及其在 YOLOv11 中的结合。空间注意力虽广泛应用但有局限,RFAConv 是将空间注意力与卷积操作融合的新型注意力机制,通过强化感受野空间特征关注、解决卷积核参数共享挑战、增强大尺寸卷积核处理能力等策略优化卷积核功能。它有基于 Group Conv 和 Unfold 两种实现方式,实验表明前者性能更好。我们将 RFAConv 集成进 YOLOv11,在数据集实验证明了方法优越性 。

魔改工程师的博客 1220

详述Asp.net的加密解密技巧(1)

对于加密和解密,我们都知道。下面主要介绍的是ASP.NET中的加密和解密。 一、数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1、常用密钥算法 密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于...

weixin_30730151的博客 88

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

详述Asp.net的加密解密技巧(2)

下面本就简单介绍在项目中常用的加密及解密的方法 一、MD5加密算法 [.NET类库中自带的算法 MD5是个不可逆的算法 没有解密的算法] 其实在ASP.Net编程中加密数据。在DotNet中有自带的类: System.Web.Security.HashPasswordForStoringInConfigFile() publicstringmd5(stringstr,...

weixin_30518397的博客 160

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

asp.net 的加密Encode和解密Decode.

asp.net 的加密和解密(c#版): 1. 导入所需包: using System.IO; using System.Text; using System.Security.Cryptography; 2.加密   1)MD5普通加密   //获取要加密的字段,并转化为Byte[]数组 byte[] data = System.Text.Encoding....

weixin_30861459的博客 815

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2007年4月 [Update to 4.27]

1、VS2005辅助工具整理 http://blog.csdn.net/mengyao/archive/2007/03/24/1539699.aspx 介绍了Reflector.FileDisassembler 、CodeSmith、NUnit、NDoc、FxCop、FxCop、GhostDoc 、Vault、Dragnet等工具及下载 2、 WPF学习笔记 http://www.cnblogs...

weixin_33759269的博客 125

.net core建站踩坑记录

系统:win10 VS版本:2017 .NET Core 版本: 1.1 零.读取配置文件 参考:http://www.tuicool.com/articles/QfYVBvi 此版本无需添加其他组件 在appsettings.json配置中添加节点AppSettings 添加配置文件的映射模型 在Startup.cs ConfigureServices方法中注册 ser...

weixin_30243533的博客 500

Win 8 加密解密操作,运行时保存值(Session)

  今天主要学习了Win 8 加密解密操作,运行时保存值(Session)的功能,我这里只是学习写了一些简单的东西, 并记录下,方便自己以后再次学习。希望园子里的朋友能多多指教,我也是一名Win 8 初学者。 一、加密解密操作,要用到Windows.Security.Cryptography.DataProtection命名空间下的DataProtec...

weixin_34123613的博客 95

ASP.NET2.0中的加密解密算法的封装

其实在ASP.Net编程中加密数据。在DotNet中有自带的类:System.Web.Security.HashPasswordForStoringInConfigFile() public string md5(string str,int code) { ...

weixin_30364147的博客 88

asp.net 开发常用的方法二

<br />asp.net 开发中常用的一些方法总结虽然写的不好,但很实用<br /> <br />using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Net; using System.Text.RegularExpressions; using System.Web.UI; using System.Web.SessionState; using

假装是个程序猿 753

ASP.NET常用加密解密

 一、MD5加密解密   1、加密 public static string ToMd5(string clearString) { Byte[] clearBytes = System.Text.Encoding.Unicode.GetBytes(clearString); string hash

whazhl的专栏 588

C#加密与解密函数

asp.net中简单方法1.public static string MD5(string toCryString)        {            return FormsAuthentication.HashPasswordForStoringInConfigFile(toCryString, "MD5");        } 2.public static string MD5(

tenger的专栏 1057

Asp.net常用加密解密方法

Asp.net常用加密解密方法 一、数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1、常用密钥算法 密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合; 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加

zhangshici的专栏 639
上一篇: 系统在10秒后返回首页
下一篇: 用asp.net还原与恢复sqlserver数据库
make1828
博客等级 码龄19年 60粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值