当前位置:首页 » 密码管理 » chash加密

chash加密

发布时间: 2022-09-04 07:15:34

❶ hash加密为什么不能破

Hash简单点讲就是把任意一段数据经过某种算法生成一段唯一的固定长度的数据。也叫做摘要。为了确保数据A免受意外或者故意(恶意)的修改,往往用这段数据A产生一个hash数据一起发送出去,接收
Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。

简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系

了解了hash基本定义,就不能不提到一些着名的hash算法,MD5 和 SHA1 可以说是目前应用最广泛的Hash算法,而它们都是以 MD4 为基础设计的。那么他们都是什么意思呢?
这里简单说一下:

1) MD4
MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年设计的,MD 是 Message Digest 的缩写。它适用在32位字长的处理器上用高速软件实现--它是基于 32 位操作数的位操作来实现的。

2) MD5
MD5(RFC 1321)是 Rivest 于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与 MD4 相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好

3) SHA1 及其他
SHA1是由NIST NSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。SHA-1 设计时基于和MD4相同原理,并且模仿了该算法。

那么这些Hash算法到底有什么用呢?
Hash算法在信息安全方面的应用主要体现在以下的3个方面:

1) 文件校验
我们比较熟悉的校验算法有奇偶校验和CRC校验,这2种校验并没有抗数据篡改的能力,它们一定程度上能检测并纠正数据传输中的信道误码,但却不能防止对数据的恶意破坏。
MD5 Hash算法的"数字指纹"特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。
2) 数字签名
Hash 算法也是现代密码体系中的一个重要组成部分。由于非对称算法的运算速度较慢,所以在数字签名协议中,单向散列函数扮演了一个重要的角色。 对 Hash 值,又称"数字摘要"进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的。而且这样的协议还有其他的优点。
3) 鉴权协议
如下的鉴权协议又被称作"挑战--认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。

以上就是一些关于hash以及其相关的一些基本预备知识。那么在emule里面他具体起到什么作用呢?

什么是文件的hash值呢?

大家都知道emule是基于P2P (Peer-to-peer的缩写,指的是点对点的意思的软件), 它采用了"多源文件传输协议"(Mftp,the Multisource FileTransfer Protocol)。在协议中,定义了一系列传输、压缩和打包还有积分的标准,emule 对于每个文件都有md5-hash的算法设置,这使得该文件独一无二,并且在整个网络上都可以追踪得到。

MD5-Hash-文件的数字文摘通过Hash函数计算得到。不管文件长度如何,它的Hash函数计算结果是一个固定长度的数字。与加密算法不同,这一个Hash算法是一个不可逆的单向函数。采用安全性高的Hash算法,如MD5、SHA时,两个不同的文件几乎不可能得到相同的Hash结果。因此,一旦文件被修改,就可检测出来。

当我们的文件放到emule里面进行共享发布的时候,emule会根据hash算法自动生成这个文件的hash值,他就是这个文件唯一的身份标志,它包含了这个文件的基本信息,然后把它提交到所连接的服务器。当有他人想对这个文件提出下载请求的时候, 这个hash值可以让他人知道他正在下载的文件是不是就是他所想要的。尤其是在文件的其他属性被更改之后(如名称等)这个值就更显得重要。而且服务器还提供了,这个文件当前所在的用户的地址,端口等信息,这样emule就知道到哪里去下载了.

一般来讲我们要搜索一个文件,emule在得到了这个信息后,会向被添加的服务器发出请求,要求得到有相同hash值的文件。而服务器则返回持有这个文件的用户信息。这样我们的客户端就可以直接的和拥有那个文件的用户沟通,看看是不是可以从他那里下载所需的文件。

对于emule中文件的hash值是固定的,也是唯一的,它就相当于这个文件的信息摘要,无论这个文件在谁的机器上,他的hash值都是不变的,无论过了多长时间,这个值始终如一,当我们在进行文件的下载上传过程中,emule都是通过这个值来确定文件。

那么什么是userhash呢?

道理同上,当我们在第一次使用emule的时候,emule会自动生成一个值,这个值也是唯一的,它是我们在emule世界里面的标志,只要你不卸载,不删除config,你的userhash值也就永远不变,积分制度就是通过这个值在起作用,emule里面的积分保存,身份识别,都是使用这个值,而和你的id和你的用户名无关,你随便怎么改这些东西,你的userhash值都是不变的,这也充分保证了公平性。其实他也是一个信息摘要,只不过保存的不是文件信息,而是我们每个人的信息。

那么什么是hash文件呢?

我们经常在emule日至里面看到,emule正在hash文件,这里就是利用了hash算法的文件校验性这个功能了,文章前面已经说了一些这些功能,其实这部分是一个非常复杂的过程,目前在ftp,bt等软件里面都是用的这个基本原理,emule里面是采用文件分块传输,这样传输的每一块都要进行对比校验,如果错误则要进行重新下载,这期间这些相关信息写入met文件,直到整个任务完成,这个时候part文件进行重新命名,然后使用move命令,把它传送到incoming文件里面,然后met文件自动删除,所以我们有的时候会遇到hash文件失败,就是指的是met里面的信息出了错误不能够和part文件匹配,另外有的时候开机也要疯狂hash,有两种情况一种是你在第一次使用,这个时候要hash提取所有文件信息,还有一种情况就是上一次你非法关机,那么这个时候就是要进行排错校验了。

❷ 哈希的算法是什么

哈希算法是一个广义的算法,也可以认为是一种思想,使用Hash算法可以提高存储空间的利用率,可以提高数据的查询效率,也可以做数字签名来保障数据传递的安全性。所以Hash算法被广泛地应用在互联网应用中。

哈希算法也被称为散列算法,Hash算法虽然被称为算法,但实际上它更像是一种思想。Hash算法没有一个固定的公式,只要符合散列思想的算法都可以被称为是Hash算法。

特点:

加密哈希跟普通哈希的区别就是安全性,一般原则是只要一种哈希算法出现过碰撞,就会不被推荐成为加密哈希了,只有安全度高的哈希算法才能用作加密哈希。

同时加密哈希其实也能当普通哈希来用,Git 版本控制工具就是用 SHA-1 这个加密哈希算法来做完整性校验的。一般来讲越安全的哈希算法,处理速度也就越慢,所以并不是所有的场合都适合用加密哈希来替代普通哈希。



❸ 几种常见的hash加密,怎么判断hash的类型

*nix系系统:
ES(Unix)
例子: IvS7aeT4NzQPM
说明:linux或者其他linux内核系统中
长度: 13 个字符
描述:第1、2位为salt,例子中的'Iv'位salt,后面的为hash值
系统:MD5(Unix)
例子:$1$12345678$XM4P3PrKBgKNnTaqG9P0T/
说明:Linux或者其他linux内核系统中
长度:34个字符
描述:开始的$1$位为加密标志,后面8位12345678为加密使用的salt,后面的为hash
加密算法:2000次循环调用MD5加密
系统:SHA-512(Unix)
例子:$6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEm
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:开始的$6$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-512加密
系统:SHA-256(Unix)
例子:$5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqi
说明:Linux或者其他linux内核系统中
长度: 55 个字符
描述:开始的$5$位为加密标志,后面8位为salt,后面的为hash
加密算法:5000次的SHA-256加密
系统:MD5(APR)
例子:$apr1$12345678$auQSX8Mvzt.tdBi4y6Xgj.
说明:Linux或者其他linux内核系统中
长度:37个字符
描述:开始的$apr1$位为加密标志,后面8位为salt,后面的为hash
加密算法:2000次循环调用MD5加密
windows系统:
windows
例子:Admin:
长度:98个字符
加密算法:MD4(MD4(Unicode($pass)).Unicode(strtolower($username)))
mysql
系统:mysql
例子:606717496665bcba
说明:老版本的MySql中
长度:8字节(16个字符)
说明:包括两个字节,且每个字的值不超过0x7fffffff
系统:MySQL5
例子:*
说明:较新版本的MySQL
长度:20字节(40位)
加密算法:SHA-1(SHA-1($pass))
其他系统:
系统:MD5(WordPress)
例子:$P$
说明:WordPress使用的md5
长度:34个字符
描述:$P$表示加密类型,然后跟着一位字符,经常是字符‘B’,后面是8位salt,后面是就是hash
加密算法:8192次md5循环加密

系统:MD5(phpBB3)
说明:phpBB 3.x.x.使用
例子:$H$9123456785DAERgALpsri.D9z3ht120
长度:34个字符
描述:开始的$H$为加密标志,后面跟着一个字符,一般的都是字符‘9’,然后是8位salt,然后是hash 值
加密算法:2048次循环调用MD5加密
系统:RAdmin v2.x
说明:Remote Administrator v2.x版本中
例子:
长度:16字节(32个字符)
加密算法:字符用0填充到100字节后,将填充过后的字符经过md5加密得到(32位值)
md5加密
标准MD5
例子:
使用范围:phpBB v2.x, Joomla 的 1.0.13版本前,及其他cmd
长度:16个字符
其他的加salt及变形类似:
md5($salt.$pass)
例子::12
md5(md5($pass))
例子:
md5(md5($pass).$salt)
例子::wQ6
md5(md5($salt).md5($pass))
例子: :wH6_S
md5(md5($salt).$pass)
例子: :1234

❹ 什么是hash函数

哈希函数(Hash Function),也称为散列函数,给定一个输入 x ,它会算出相应的输出 H(x) 。哈希函数的主要特征是:

另外哈希函数一般还要求以下两种特点:

1、免碰撞 :即不会出现输入 x≠y ,但是H(x)=H(y) 的情况,其实这个特点在理论上并不成立,比如目前比特币使用的 SHA256 算法,会有 2^256 种输出,如果我们进行 2^256 + 1 次输入,那么必然会产生一次碰撞,事实上,通过 理论证明 ,通过 2^130 次输入就会有99%的可能性发生一次碰撞,不过即使如此,即便是人类制造的所有计算机自宇宙诞生开始一直运算到今天,发生一次碰撞的几率也是极其微小的。

2、隐匿性 :也就是说,对于一个给定的输出结果 H(x) ,想要逆推出输入 x ,在计算上是不可能的。如果想要得到 H(x) 的可能的原输入,不存在比穷举更好的方法。

hash 算法的原理是试图将一个空间的数据集映射到另外一个空间(通常比原空间要小),并利用质数将数据集能够均匀的映射。目前主流的 hash 算法有: md4 md5 sha系列

MD4是麻省理工学院教授 Ronald Rivest 于1990年设计出来的算法。其摘要长度为128位,一般用32位的十六进制来表示。

2004年8月清华大学教授王小云,指出在计算MD4时可能发生杂凑冲撞。不久之后,Dobbertin 等人发现了MD4在计算过程中第一步和第三步中的漏洞,并向大家演示了如何利用一部普通电脑在几分钟内找到MD4中的冲突,毫无疑问,MD4就此被淘汰掉了。

1991年,Rivest 开发出技术上更为趋近成熟的MD5算法,它在MD4的基础上增加了"安全-带子"(safety-belts)的概念。虽然 MD5 比 MD4 复杂度大一些,但却更为安全。这个算法很明显的由四个和 MD4 设计有少许不同的步骤组成。

MD5 拥有很好的抗修改性,即对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。

MD5很好的用在了大文件的断点续传上:如果有一个 5MB 的文件 客户端把它分割成5片 1MB 的文件 在上传的时候上传两个 MD5 值,一个是当前上传的文件片的 MD5 还有一个就是拼接之后的 MD5 (如果现在上传的是第二片 这个MD5就应该是第一片加上第二片的MD5), 通过这样的方式能保证文件的完整性。

当如果文件传到一半断了,服务器可以通过验证文件 MD5 值就可以得知用户已经传到了第几片,并且知道之前上传的文件有没有发生变化,就可以判断出用户需要从第几片开始传递。

不过在2004年8月的国际密码学会议(Crypto’2004),王小云提出了一种快速找到 MD5 碰撞的方法(参见其 论文 ),降低了 MD5 的安全性,人们开始寻求更加可靠的加密算法。

SHA的全称是Secure Hash Algorithm(安全hash算法),SHA系列有五个算法,分别是 SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布,是美国的政府标准。后四者有时并称为 SHA-2。SHA-1在许多安全协定中广为使用,包括 TLS/SSL 等,是 MD5 的后继者。

最初该算法于1993年发布,称做安全散列标准 (Secure Hash Standard),最初这个版本被称为"SHA-0",它在发布之后很快就被NSA撤回,因为有很大的安全缺陷,之后在1995年发布了修订版本,也就是SHA-1。

SHA-0 和 SHA-1 会从一个最大 2^64 位元的讯息中产生一串 160 位元的摘要,然后以 MD4 及 MD5 算法类似的原理来加密。

2017年,谷歌发布了最新的研究成功,宣布攻破了SHA-1,并详细描述了成功的SHA1碰撞攻击方式,使用这种方式,可以在亚马逊的云计算平台上,耗时10天左右创建出SHA-1碰撞,并且成本可以控制在11万美元以内。

即使如此,对于单台机器来说攻击的成本依然很高,发生一次SHA-1碰撞需要超过 9,223,372,036,854,775,808 个SHA1计算,这需要使用你的机器进行6500年计算。

SHA2包括了SHA-224、SHA-256、SHA-384,和SHA-512,这几个函数都将讯息对应到更长的讯息摘要,以它们的摘要长度(以位元计算)加在原名后面来命名,也就是说SHA-256会产生256位长度摘要。

SHA-2相对来说是安全的,至今尚未出现对SHA-2有效的攻击!

由于目前大量的网站使用的SSL数字证数都是使用SHA-1签名的,而SHA-1又已经不安全,各大浏览器厂商均宣布了弃用SHA-1的时间表:

可以看出,在时间表之后,如果检测到网站的证书使用的还是SHA-1,就会弹出警告:

为了防止网站因出现上面的警告而显得不专业,我们需要尽快的申请使用跟安全放心的基于SHA-2签名的证书。

❺ hash加密后的密码是多少位,还是说没有固定位数啊

消息摘要算法第五版(英语:Message-Digest Algorithm 5,缩写为MD5),是当前计算机领域用于确保信息传输完整一致而广泛使用的杂凑算法之一(又译哈希算法、摘要算法等),主流编程语言普遍已有MD5的实现。

MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个128-bits散列。基本方式为,求余、取余、调整长度、与链接变量进行循环运算。得出结果。

❻ hash的加密过程,

可以使用 System.Security.Cryptography 名称空间中包含的加密资源方便地生成和比较哈希值。 因为所有哈希函数的输入类型都是 Byte[],所以必须先将源数据转换为字节数组后再计算哈希值。 若要为一个字符串值创建哈希值,请按照下列步骤操作: 打开 Visual Studio .NET。 在 Microsoft C# 中新建控制台应用程序。Visual C# .NET 为您创建一个公用类以及一个空的 Main() 方法。 对 System、System.Security.Cryptography 和 System.Text 名称空间使用 using 指令,这样,在后面的代码中就不需要限定这些名称空间中的声明了。这些语句必须放在所有其他声明之前。 using System; using System.Security.Cryptography; using System.Text; 声明一个字符串变量以存放源数据,并声明两个字节数组(未定义大小)分别存放源字节和得出的哈希值。 string sSourceData; byte[] tmpSource; byte[] tmpHash; 使用 GetBytes() 方法(它是 System.Text.ASCIIEncoding 类的成员)将源字符串转换为字节数组(这是哈希函数要求的输入类型)。 sSourceData = "MySourceData"; //Create a byte array from source data. tmpSource = ASCIIEncoding.ASCII.GetBytes(sSourceData); 通过在 MD5CryptoServiceProvider 类的一个实例上调用 ComputeHash 方法,来计算源数据的 MD5 哈希值。 注意,若要计算另一哈希值,需要另创建一个该类的实例。 //Compute hash based on source data. tmpHash = new MD5CryptoServiceProvider().ComputeHash(tmpSource); 此时,tmpHash 字节数组中存放了计算源数据得出的哈希值(128 位值 = 16 个字节)。 通常,将此类值显示或存储为一个十六进制字符串是非常有用的,如以下代码所示: Console.WriteLine(ByteArrayToString(tmpHash)); static string ByteArrayToString(byte[] arrInput) { int i; StringBuilder sOutput = new StringBuilder(arrInput.Length); for (i=0;i < arrInput.Length -1; i++) { sOutput.Append(arrInput[i].ToString("X2")); } return sOutput.ToString(); } 保存并运行代码,以查看计算源数值得出的十六进制字符串。 回到顶端比较两个哈希值 从源数据创建哈希值的目的之一是,提供一种方法查看数据经过一段时间后是否会发生改变,或者在不使用实际值的情况下比较两个值。 两种情况都需要比较两个哈希计算值,如果两个值都存储为十六进制字符串,则比较起来非常方便(如上一节中的最后一步所示)。 但是,两个值很有可能都采用字节数组的形式。 以下代码(继上一节中创建的代码)演示了如何比较两个字节数组。 创建完十六进制字符串后,紧接着基于新的源数据创建一个新的哈希值。 sSourceData = "NotMySourceData"; tmpSource = ASCIIEncoding.ASCII.GetBytes(sSourceData); byte[] tmpNewHash; tmpNewHash = new MD5CryptoServiceProvider().ComputeHash(tmpSource); 比较两个字节数组的最直接的方法是,使用循环语句逐一比较两个值中对应的数组元素。 如果任何元素不同,或者两个数组的长度不同,则两个值不相等。 bool bEqual = false; if (tmpNewHash.Length == tmpHash.Length) { int i=0; while ((i < tmpNewHash.Length) && (tmpNewHash[i] == tmpHash[i])) { i += 1; } if (i == tmpNewHash.Length) { bEqual = true; } } if (bEqual) Console.WriteLine("The two hash values are the same"); else Console.WriteLine("The two hash values are not the same"); Console.ReadLine(); 保存并运行项目,查看从第一个哈希值创建的十六进制字符串,然后检查新的哈希值与原值是否相等。
-__________________________________________________________________________
在.net中,由 System.Security.Cryptography 命名空间提供了加密和哈希的几个类。其中 md5 编码由 MD5CryptoServiceProvider 实现。
在使用过程中由于 MD5CryptoServiceProvider 提供了多种方法去计算md5的hash值,反而令人搞不清楚,所以这里帖出计算md5的几种常见方法先引用命名空间: using System.Security.Cryptography;
using System.Text; 然后:MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();string source="HelloWorld";
byte[] message;
message=Encoding.Default.GetBytes(source);//方法1
// 使用ComputeHash方法,适合用于计算简单的字符串的md5值时
md5.ComputeHash(message);
Console.WriteLine(Convert.ToBase64String(md5.Hash));
//方法2
// 使用TransformFinalBlock方法,适合用于原始数据不多时
md5.Initialize();
md5.TransformFinalBlock(message,0,message.Length);
Console.WriteLine(Convert.ToBase64String(md5.Hash));
//方法3
// 此方法等同于方法2
md5.Initialize();
md5.TransformBlock(message,0,message.Length,
message,0); //note: output bytes must equal input bytes
md5.TransformFinalBlock(message,0,0);
Console.WriteLine(Convert.ToBase64String(md5.Hash));
//方法4
// 将原始消息分两次编码,得出的结果跟上面的一样,适合用于计算大量原始数据时,例如计算一个文件的md5值
md5.Initialize();
message=Encoding.Default.GetBytes("Hello");
md5.TransformBlock(message,0,message.Length,
message,0);message=Encoding.Default.GetBytes("World");
md5.TransformFinalBlock(message,0,message.Length);
Console.WriteLine(Convert.ToBase64String(md5.Hash));

❼ HASH加密使用复杂的数字算法来实现有效的加密,其算法包括

java中使用Hash算法:

import java.security.*;

public static String HashBase64(String str)
{
String ret="";
try {
//Hash算法
MessageDigest sha = MessageDigest.getInstance("SHA-1");
sha.update(str.getBytes());
ret=new sun.misc.BASE64Encoder().encode(sha.digest());
}
catch (Exception e) {
System.out.print(e.getMessage());
}
return ret;
}

❽ bcrypt和hash加密算法的区别

bcrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

❾ C++语言如何哈希加密

Hash是一类算法,最常见的是MD5。
如果是windows平台,可以用动态链接库advapi32.dll,此动态链接库提供以下md5函数:
MD5Init(&ctx);
MD5Update(&ctx, buf, len);
MD5Final(&ctx);

MD5 和 SHA1 是目前应用最广泛的Hash算法,而它们都是以 MD4 为基础设计的。
参考一下:http://blog.163.com/star_verygood@yeah/blog/static/16792052720109119031452/

❿ 哈希加密为什么是不可逆的

不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。显然,在这类加密过程中,加密是自己,解密还得是自己,而所谓解密,实际上就是重新加一次密,所应用的“密码”也就是输入的明文。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口令加密,利用的就是不可逆加密算法。近年来,随着计算机系统性能的不断提高,不可逆加密的应用领域正在逐渐增大。在计算机网络中应用较多不可逆加密算法的有RSA公司发明的MD5算法和由美国国家标准局建议的不可逆加密标准SHS(Secure Hash Standard:安全杂乱信息标准)等。

不可逆就是假如有两个密码3和4,我的加密算法很简单就是3+4,结果是7,但是通过7我不可能确定那两个密码是3和4,有很多种组合,这就是最简单的不可逆,所以只能通过暴力破解一个一个的试

热点内容
编译后的程序叫啥扩展名是啥 发布:2025-07-05 01:18:29 浏览:163
强转编程 发布:2025-07-05 01:09:50 浏览:886
vsgcc编译器 发布:2025-07-05 00:48:03 浏览:903
长城h6第三代都有哪些配置 发布:2025-07-05 00:39:25 浏览:396
unix系统编程手册 发布:2025-07-05 00:32:17 浏览:286
重庆压缩机厂 发布:2025-07-05 00:14:53 浏览:757
php55兼容 发布:2025-07-05 00:14:52 浏览:546
公主出国访问 发布:2025-07-05 00:13:26 浏览:570
服务器IP作为登录IP 发布:2025-07-05 00:10:56 浏览:979
防雷支架应配置什么电缆 发布:2025-07-05 00:05:56 浏览:220