单向散列函数算法Hash算法

合集下载

常用加密算法学习总结之散列函数(hashfunction)

常用加密算法学习总结之散列函数(hashfunction)

常⽤加密算法学习总结之散列函数(hashfunction)散列函数(Hash function)⼜称散列算法、哈希函数,散列函数把消息或数据压缩成摘要,使得数据量变⼩,将数据的格式固定下来。

该函数将数据打乱混合,重新创建⼀个叫做散列值(hash values)的指纹。

这种转化是⼀种压缩映射,也就是散列值的空间通常远⼩于输⼊值的空间,不同的输⼊可能会散列成相同的输出,⼆不可能从散列值来唯⼀的确定输⼊值。

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

散列函数性质通过使⽤单向散列函数,即便是确认⼏百MB⼤⼩的⽂件的完整性,也只要对⽐很短的散列值就可以了。

那么,单向散列函数必须具备怎样的性质呢?我们来整理⼀下。

根据任意长度的消息计算出固定长度的散列值能够快速计算出散列值计算散列值所花费的时间短。

尽管消息越长,计算散列值的时间也会越长,但如果不能在现实的时间内完成计算就没有意义了。

消息不同散列值也不同难以发现碰撞的性质称为抗碰撞性(collisionresistance)。

密码技术中所使⽤的单向散列函数,都需要具备抗碰撞性。

强抗碰撞性,是指要找到散列值相同的两条不同的消息是⾮常困难的这⼀性质。

在这⾥,散列值可以是任意值。

密码技术中的单向散列函数必须具备强抗碰撞性。

具备单向性单向散列函数必须具备单向性(one-way)。

单向性指的是⽆法通过散列值反算出消息的性质。

根据消息计算散列值可以很容易,但这条单⾏路是⽆法反过来⾛的。

散列函数的应⽤散列函数应⽤具有多样性安全加密:保护资料,散列值可⽤于唯⼀地识别机密信息。

这需要散列函数是抗碰撞(collision-resistant)的,意味着很难找到产⽣相同散列值的资料。

如数字签名、消息认证码。

数据校验:确保传递真实的信息:消息或数据的接受者确认消息是否被篡改的性质叫数据的真实性,也称为完整性。

错误校正:使⽤⼀个散列函数可以很直观的检测出数据在传输时发⽣的错误。

哈 希 常 见 算 法 及 原 理

哈 希 常 见 算 法 及 原 理

计算与数据结构篇 - 哈希算法 (Hash)计算与数据结构篇 - 哈希算法 (Hash)哈希算法的定义和原理非常简单,基本上一句话就可以概括了。

将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。

构成哈希算法的条件:从哈希值不能反向推导出原始数据(所以哈希算法也叫单向哈希算法)对输入数据非常敏感,哪怕原始数据只修改了一个 Bit,最后得到的哈希值也大不相同;散列冲突的概率要很小,对于不同的原始数据,哈希值相同的概率非常小;哈希算法的执行效率要尽量高效,针对较长的文本,也能快速地计算出哈希值。

哈希算法的应用(上篇)安全加密说到哈希算法的应用,最先想到的应该就是安全加密。

最常用于加密的哈希算法是 MD5(MD5 Message-Digest Algorithm,MD5 消息摘要算法)和 SHA(Secure Hash Algorithm,安全散列算法)。

除了这两个之外,当然还有很多其他加密算法,比如 DES(Data Encryption Standard,数据加密标准)、AES(Advanced Encryption Standard,高级加密标准)。

前面我讲到的哈希算法四点要求,对用于加密的哈希算法来说,有两点格外重要。

第一点是很难根据哈希值反向推导出原始数据,第二点是散列冲突的概率要很小。

不过,即便哈希算法存在散列冲突的情况,但是因为哈希值的范围很大,冲突的概率极低,所以相对来说还是很难破解的。

像 MD5,有 2^128 个不同的哈希值,这个数据已经是一个天文数字了,所以散列冲突的概率要小于 1-2^128。

如果我们拿到一个 MD5 哈希值,希望通过毫无规律的穷举的方法,找到跟这个 MD5 值相同的另一个数据,那耗费的时间应该是个天文数字。

所以,即便哈希算法存在冲突,但是在有限的时间和资-源下,哈希算法还是被很难破解的。

第17讲 Hash 函数.

第17讲 Hash 函数.

Hash函数的安全性
生日攻击法
分别把消息m和M表示成r和R个变形的消息
Hash函数的安全性
生日攻击法
计算真消息m的变形与假消息M的变形发生碰撞的 概率 由于n比特长的散列值共有2n个,所以对于给定m 的变形mi和M的变形Mj,mi与Mj不碰撞的概率是 1-1/2n。由于M共有R个变形,所以M的全部变形 都不与mi碰撞的概率是:
1 2 k 1 1 1 ...1 . 365 365 365
k人中至少有2人生日相同的概率为: 1 2 k 1 P(365, k ) 1 1 1 ...1 . 365 365 365
有P(365,23)=0.5073。即在23个人中,至少有两 个人生日相同的概率大于0.5,这个数字比人们 直观猜测的结果小得多,因而称为生日悖论。
Hash函数的安全性
生日攻击法 生日悖论原理可以用于构造对Hash函数 的攻击
设Hash函数值有n个比特,m是真消息,M 是伪造的假消息,分别把消息m和M表示成r 和R个变形的消息。消息与其变形消息具有 不同的形式,但有相同的含义。将消息表示 成变形消息的方法很多,例如增加空格、使 用缩写、使用意义相同的单词、去掉不必要 的单词等。
第8章 Hash 函数
Hash函数定义
数据安全 机密性 完整性 认证性 密码技术主要保证数据的机密性 Hash函数能保证数据的完整性和认证性
Hash函数定义
Hash函数常用来构造数据的短“指纹”:消息的 发送者使用所有的消息产生一个附件也就是短 “指纹”,并将该短“指纹”与消息一起传输给 接收者。 即使数据存储在不安全的地方,接收者重新计算 数据的指纹,并验证指纹是否改变,就能够检测 数据的完整性。这是因为一旦数据在中途被破坏, 或改变,短指纹就不再正确。

WEB开发中常见的加密方式有哪些

WEB开发中常见的加密方式有哪些

WEB开发中常见的加密⽅式有哪些今天,我们对信息安全越来越受重视,WEB开发中的各种加密也变得更加重要。

通常跟服务器的交互中,为确保数据传输的安全性,避免被⼈抓包篡改数据,除了 https 的应⽤,还需要对传输数据进⾏加解密。

今天我们来了解下有哪些常见的加密⽅式。

单向散列加密单向散列(hash)加密是指把任意长的输⼊串变化成固定长的输出串,并且由输出串难以得到输⼊串的加密⽅法,这种⽅法称为单项散列加密。

⼴泛应⽤于对敏感数据加密,⽐如⽤户密码,请求参数,⽂件加密等。

我们开发中存储⽤户密码就⽤到了单向散列加密算法。

常见的单向散列加密算法有:MD5SHAMACCRC单向散列加密算法的优点有(以MD5为例):⽅便存储:加密后都是固定⼤⼩(32位)的字符串,能够分配固定⼤⼩的空间存储。

损耗低:加密/加密对于性能的损耗微乎其微。

⽂件加密:只需要32位字符串就能对⼀个巨⼤的⽂件验证其完整性。

不可逆:⼤多数的情况下不可逆,具有良好的安全性。

单向散列加密的缺点就是存在暴⼒破解的可能性,最好通过加盐值的⽅式提⾼安全性,此外可能存在散列冲突。

我们都知道MD5加密也是可以破解的。

对于PHPer来说,不推荐使⽤md5()简单加密,⽽是推荐⼤家使⽤password_hash()对数据加密存储,该函数使⽤⾜够强度的单向散列算法创建密码的哈希(hash),使加密后的数据更加安全可靠。

对于⽤户密码的加密存储和验证⽀持相当好。

⽰例代码://密码加密$password = '123456';$passwordHash = password_hash($password,PASSWORD_DEFAULT,['cost' => 12]);//密码验证if (password_verify($password, $passwordHash)) {//Success} else {//Fail}对称加密同⼀个密钥可以同时⽤作数据的加密和解密,这种⽅法称为对称加密。

hash算法在杀毒中应用原理_概述说明以及概述

hash算法在杀毒中应用原理_概述说明以及概述

hash算法在杀毒中应用原理概述说明以及概述1. 引言1.1 概述:随着网络安全威胁的不断增加,杀毒软件成为了保护计算机和数据安全的重要工具之一。

而在杀毒软件中,hash算法作为一种重要的技术手段被广泛应用。

本文将对hash算法在杀毒领域的应用原理进行深入探讨。

1.2 文章结构:本文主要分为五个部分,即引言、hash算法应用原理、杀毒软件中的hash算法应用举例、实际案例分析与讨论以及结论与总结。

在引言部分,我们将简要说明文章的目的,并介绍文章的结构框架。

1.3 目的:本文旨在探究hash算法在杀毒中的应用原理并通过具体案例来展示其实际效果。

同时,本文也将对不同类型的hash算法进行分类和讨论,以便读者全面了解这一领域内的发展和应用情况。

最后,我们还将对未来hash算法在杀毒领域可能带来的进展进行展望。

通过这篇长文,读者可以更深入地了解hash算法在杀毒方面起到的重要作用,并掌握相关概念和原理。

同时,本文还将提供具体的案例分析和讨论,以帮助读者更好地理解hash算法的实际应用效果。

最后,我们将总结hash算法在杀毒领域的优势和不足,并展望其未来在杀毒领域可能的发展方向。

2. hash算法应用原理:2.1 hash算法基本概念:哈希算法,也称为散列函数,是一种将输入数据映射到固定大小的输出值的函数。

它通过将输入数据作为“键”来计算对应的“哈希值”。

哈希函数是非可逆操作,意味着无法从哈希值还原出原始数据。

2.2 hash算法在杀毒中的作用:在杀毒软件中,hash算法被广泛应用于数据完整性校验、病毒特征库匹配以及快速查找和去重策略等方面。

通过计算文件的哈希值并与预先存储的正确哈希值进行比对,可以验证文件是否被篡改过,从而检测出病毒或恶意软件。

此外,在构建病毒特征库时,hash算法可以高效地存储和查找病毒特征信息。

另外还使用hash表进行快速查找和去重策略,以提高杀毒效率。

2.3 hash算法分类及应用场景:哈希算法主要分为两大类:单向散列函数和消息认证码(MAC)。

Hash,MAC,HMAC

Hash,MAC,HMAC

Hash,MAC,HMACHash-MD5, SHA-1, integrityMAC- keyed hash, integrity & authenticity. HMAC 长度和其所⽤的hash长度⼀样Hash是⼀种从任何⼀种数据中创建⼩的数字“指纹”的⽅法。

散列函数把消息或数据压缩成摘要,使得数据量变⼩,将数据的格式固定下来。

如果两个散列值是不相同的(根据同⼀函数),那么这两个散列值的原始输⼊也是不相同的。

这个特性是散列函数具有的结果,具有这种性质的散列函数称为单向散列函数。

但另⼀⽅⾯,散列函数的输⼊和输出不是唯⼀对应關係的,如果两个散列值相同,两个输⼊值很可能是相同的。

但也可能不同,這種情況稱為「碰撞」,這通常是兩個不同⾧度的散列值,刻意計算出相同的輸出值。

Hash,⼀般翻译做“散列”,也有直接⾳译为"哈希"的,就是把任意长度的输⼊(⼜叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。

这种转换是⼀种压缩映射,也就是,散列值的空间通常远⼩于输⼊的空间,不同的输⼊可能会散列成相同的输出,⽽不可能从散列值来唯⼀的确定输⼊值。

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

HASH主要⽤于信息安全领域中加密算法,他把⼀些不同长度的信息转化成杂乱的128位的编码⾥,叫做HASH值. 也可以说,hash就是找到⼀种数据内容和数据存放地址之间的映射关系了解了hash基本定义,就不能不提到⼀些著名的hash算法,MD5 和 SHA1 可以说是⽬前应⽤最⼴泛的Hash算法。

MD5(RFC1321) 是 Rivest 于 1991 年对 MD4 的改进版本,将任意长的明⽂ hash 成 128 bit 的杂凑值。

MD5是⼀种不可逆的加密算法,⽬前是最牢靠的加密算法之⼀,尚没有能够逆运算的程序被开发出来,它对应任何字符串都可以加密成⼀段唯⼀的固定长度的代码。

常用密钥算法

常用密钥算法

常⽤密钥算法⼀、数据加密/编码算法列表 常见⽤于保证安全的加密或编码算法如下: 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):消息认证代码,是⼀种使⽤密钥的单向函数,可以⽤它们在系统上或⽤户之间认证⽂件或消息。

单向函数——精选推荐

单向函数——精选推荐

单向函数单向函数单向函数定义:单向函数满⾜对于所有属于 f 定义域的任⼀ x ,可以很容易计算 f( x ) = y;对于⼏乎所有属于 f 值域的任⼀ y ,则在计算上不可能求出 x 使得 y = f( x )。

单向函数的交换性:单向函数本⾝在近代密码学领域⽤处并不⼤。

但若单向函数具有交换性,则其⽤处就很⼤。

交换性(Commutative Property ):令Z为⼀集合,F为将Z映射⾄Z本⾝的函数集合。

令z∈Z,F[x](z)表⽰此函数集合的第x个函数,若F[x](F[y])) = F[y](F[x](z)),则称此函数集合具有交换性。

具有关键性的单向函数是进⾏数据加密/编码的⼀种算法单向函数⼀般⽤于产⽣消息摘要,密钥加密等,常见的有:MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的⼀种单向散列算法,MD5被⼴泛使⽤,可以⽤来把不同长度的数据块进⾏暗码运算成⼀个128位的数值;SHA(Secure Hash Algorithm)这是⼀种较新的散列算法,可以对任意长度的数据运算⽣成⼀个160位的数值;MAC(Message Authentication Code):消息认证代码,是⼀种使⽤密钥的单向函数,可以⽤它们在系统上或⽤户之间认证⽂件或消息。

HMAC(⽤于消息认证的密钥散列法)就是这种函数的⼀个例⼦。

CRC(Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能⼒强,被⼴泛使⽤在各种数据校验应⽤中。

占⽤系统资源少,⽤软硬件均能实现,是进⾏数据传输差错检测地⼀种很好的⼿段(CRC 并不是严格意义上的散列算法,但它的作⽤与散列算法⼤致相同,所以归于此类)。

个⼈总结:如果不写复杂的算法,我们只需要知道单向函数是真实存在的,同时知道有些单向函数具有交换性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单向散列函数算法(Hash算法): 一种将任意长度的消息压缩到某一固定长度(消息摘要)的函数(过程不可逆),常见的单向散列算法有MD5,SHA.RIPE-MD,HAVAL,N-Hash 由于Hash函数的为不可逆算法,所以软件智能使用Hash函数作为一个加密的中间步骤

MD5算法: 即为消息摘要算法(Message Digest Algorithm),对输入的任意长度的消息进行预算,产生一个128位的消息摘要 简易过程: 1、数据填充..即填出消息使得其长度与448(mod 512)同余,也就是说长度比512要小64位(为什么数据长度本身已经满足却仍然需要填充?直接填充一个整数倍) 填充方法是附一个1在后面,然后用0来填充.. 2、添加长度..在上述结果之后附加64位的消息长度,使得最终消息的长度正好是512的倍数.. 3、初始化变量..用到4个变量来计算消息长度(即4轮运算),设4个变量分别为A,B,C,D(全部为32位寄存器)A=1234567H,B=89abcdefH,C=fedcba98H,D=7654321H 4、数据处理..首先进行分组,以512位为一个单位,以单位来处理消息.. 首先定义4个辅助函数,以3个32为双字作为输入,输出一个32为双字 F(X,Y,Z)=(X&Y)|((~X)&Z) G(X,Y,Z)=(X&Z)|(Y&(~Z)) H(X,Y,Z)=X^Y^Z I(X,Y,Z)=Y^(X|(~Z)) 其中,^是异或操作 这4轮变换是对进入主循环的512为消息分组的16个32位字分别进行如下操作: (重点)将A,B,C,D的副本a,b,c,d中的3个经F,G,H,I运算后的结果与第四个相加,再加上32位字和一个32位字的加法常数(所用的加法常数由这样一张表T[i]定义,期中i为1至64之中的值,T[i]等于4294967296乘以abs(sin(i))所得结果的整数部分)(什么是加法常数),并将所得之值循环左移若干位(若干位是随机的??),最后将所得结果加上a,b,c,d之一(这个之一也是随机的?)(一轮运算中这个之一是有规律的递增的..如下运算式),并回送至A,B,C,D,由此完成一次循环。(这个循环式对4个变量值进行计算还是对数据进行变换??)

For i=0 to N/16 do For j=0 to 15 do Set X[i] to M[i*16+j] End AA = A BB=B CC=C DD=D //第一轮,令[ABCD K S I]表示下面的操作: //A=B+((A+F(B,C,D)+X[K]+T[I])<

//第二轮,令[ABCD K S I]表示如下操作 //A=B+((A+G(B,C,D)+X[K]+T[I])<

[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] ..进行有规律的16运算

//第三轮,令[ABCD K S I]表示如下操作 //A=B+((A+H(B,C,D)+X[K]+T[I])<

[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]

//第四轮,令[ABCD K S I]表示如下运算 //A=B+((A+I(B,C,D)+X[K]+T[I])<

[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52]

然后做如下加法运算… A=A+AA B=B+BB C=C+CC D=D+DD END

当所有的512位分组运算完毕后,ABCD的级联将被输出成为MD5散列结果

SHA算法 即安全散列算法(Secure Hash Algorithm),有SHA-1,SHA-256,SHA-384和SHA-512几种 分别产生160位,256位,384位和512位的散列值

简易过程:

1、 消息分组和填充方式与MD5相同 2、 使用了f0,f1,…,f79这样一个逻辑函数序列,每一个ft(0<=t<=79)对3个32位的双字B,C,D进行操作,产生一个32位双字的输出。Ft(B,C,D)定义如下:

Ft(B,C,D)=(B&C)|((~B)&D) 0<=t=19 Ft(B,C,D)=B^C^D 20<=t<=39 Ft(B,C,D)=(B&C)|(B&D)|(C&D) 40<=t<=59 Ft(B,C,D)=B^C^D 60<=t<=79 在C语言中常用宏定义进行初始化 同样SHA-1也使用了一系列的常数K(0),K(1),….,K(79)).用十六进制表示就是 Kt=5A827999 0<=t<=19 Kt =6ED9EBA1 20<=t<=39 Kt =8F1BBCDC 40<=t<=59 Kt =CA62C1D6 60<=t<=79(为什么用这些常数进行初始化??范围是怎么回事??)

SHA-1产生160位的消息摘要

对称加密算法 对称加密算法的加密密钥和解密密钥是完全相同的.. 安全性主要依赖于---1.加密算大必须是足够强(其中有依赖于数学问题),可以抵御各种类型的攻击..2.加密的安全性依赖于密钥的秘密性,而不是保密性..

常见的对称分组加密算法有DES(Data Encryption Standard)(数据加密标

准),IDEA(International Data Encryption Algorithm)(国际数据加密算法),AES(Advanced Encryption Standard)(改进加密标准),BlowFish,Twofish,TEA,流密码RC4 RC4流密码 为现在最为流行的流密码,应用于SSL(Secure Sockes Layer)(安全套接层),WEP 简易原理: 生成一种称为密钥流的伪随机流(伪在这里表示有规律之意)同明文通过异或操作相混合以达到加密的目的,解密时,同密文进行异或操作。其密钥流由两部分组成::KSA和PRGA 1,KSA(the Key-Scheduling Algorithm)(密钥调度算法) 首先使用KSA来完成对大小为256的字节数组S(这个字节数组是什么??是要加密的消息么??)的初始化及替换,在替换时使用密钥,密钥长度一般取5-16字节,即40-128位,首先用0-255初始化数组S,然后使用密钥进行替换,伪代码如下: For i=0 to 255 do S[i]=i; j:=0; For i=0 to 255 do j:=(j+S[i]+key[i mod keylength]) mod 256; //重复使用密钥 swap(S[i],S[j]); 2,PRGA(the Pseudo-Random Generation Algorithm)(伪随机流产生算法) 数组S在完成初始化之后,输入密钥便不再使用。密钥流的生成是从S[0]到S[255],对每个S[i],根据当前S的值,将S[i]与S中的另一字节置换。当S[255]完成转换后,操作继续重复执行(不明白!!) 得到子密码K用以和明文进行XOR运算,得到密文,解密方法相同… 3,弱点:因为RC4加密所用的是XOR,所以一旦子密钥序列出现了重复,密文就可能被破解(为什么出现重复就容易被破解??因为异或运算可逆??这的重复是指什么??相同的子密钥??)

RC4产生一个伪随机比特流(a keystream),加密的时候,把它跟明文进行比特级别的异或处理,解密时进行一样的步骤(因为异或操作是对称的)。(这个类似于Vernam cipher ,只不过后者不使用伪随机比特流而直接使用随机比特流)。为了产生keystream,本密码算法使用时需要两个数据的私有空间来保存内部状态: 1. 总共256个字节的序列(下面用“S"代替) 2. 两个8比特的索引指针(下面用“i”和“j”代替) 比特流序列的初始化是根据key的长度(key的长度通常在40到256比特之间),使用key-scheduling 算法来进行的(KSA),一旦完成了初始化,比特流就可以根据伪随机生成算法 (PRGA)来产生。 The key-scheduling algorithm (KSA) key-scheduling 算法用来初始化数组 “S”中的字节序列,“keylength”定义了key的字节长度,可能的范围是[1, 256], 典型的值是5到16之间,相应的key 长度就是40-128比特。首先,数组“S”被初始化成identity permutation(身份鉴别的序列),随后在PRGA的算法中进行256为周期的循环列举出来,每次处理的方式都是一样的,是联合key的字节进行

相关文档
最新文档