DES、3DES加密算法

    DES、3DES加密算法

    DES加密算法,为对称加密算法中的一种。70年代初由IBM研发,后1977年被美国国家标准局采纳为数据加密标准,即DES全称的由来:Data Encryption Standard。对称加密算法,是相对于非对称加密算法而言的。两者区别在于,对称加密在加密和解密时使用同一密钥,而非对称加密在加密和解密时使用不同的密钥,即公钥和私钥。常见的DES、3DES、AES均为对称加密算法,而RSA、椭圆曲线加密算法,均为非对称加密算法。

      DES是以64比特的明文为一个单位来进行加密的,超过64比特的数据,要求按固定的64比特的大小分组,分组有很多模式,后续单独总结,暂时先介绍DES加密算法。DES使用的密钥长度为64比特,但由于每隔7个比特设置一个奇偶校验位,因此其密钥长度实际为56比特。奇偶校验为最简单的错误检测码,即根据一组二进制代码中1的个数是奇数或偶数来检测错误。

    Feistel网络

    DES的基本结构,由IBM公司的Horst Feistel设计,因此称Feistel网络。在Feistel网络中,加密的每个步骤称为轮,经过初始置换后的64位明文,进行了16轮Feistel轮的加密过程,最后经过终结置换后形成最终的64位密文。如下为Feistel网络的示意图:

    image

    64位明文被分为左、右两部分处理,右侧数据和子密钥经过轮函数f生成用于加密左侧数据的比特序列,与左侧数据异或运算,运算结果输出为加密后的左侧,右侧数据则直接输出为右侧。
      其中子密钥为本轮加密使用的密钥,每次Feistel均使用不同的子密钥。子密钥的计算,以及轮函数的细节,稍后下文介绍。由于一次Feistel轮并不会加密右侧,因此需要将上一轮输出后的左右两侧对调后,重复Feistel轮的过程,DES算法共计进行16次Feistel轮,最后一轮输出后左右两侧无需对调。

    DES加密和解密的过程一致,均使用Feistel网络实现,区别仅在于解密时,密文作为输入,并逆序使用子密钥。
    go标准库中DES算法实现如下:

    func cryptBlock(subkeys []uint64, dst, src []byte, decrypt bool) {
        b := binary.BigEndian.Uint64(src)
        //初始置换
        b = permuteInitialBlock(b)
        left, right := uint32(b>>32), uint32(b)
    
        left = (left << 1) | (left >> 31)
        right = (right << 1) | (right >> 31)
    
        //共计16次feistel轮
        if decrypt {
            for i := 0; i < 8; i++ {
                left, right = feistel(left, right, subkeys[15-2*i], subkeys[15-(2*i+1)])
            }
        } else {
            for i := 0; i < 8; i++ {
                left, right = feistel(left, right, subkeys[2*i], subkeys[2*i+1])
            }
        }
    
        left = (left << 31) | (left >> 1)
        right = (right << 31) | (right >> 1)
    
        // 左右切换并执行最终置换
        preOutput := (uint64(right) << 32) | uint64(left)
        binary.BigEndian.PutUint64(dst, permuteFinalBlock(preOutput))
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    DES算法共计进行16次Feistel轮,上面却只有循环了8次
    这是由于 feistel 方法中一次操作了左右两个参数,所以循环次数减半

    func feistel(l, r uint32, k0, k1 uint64) (lout, rout uint32) {
        var t uint32
    
        t = r ^ uint32(k0>>32)
        l ^= feistelBox[7][t&0x3f] ^
            feistelBox[5][(t>>8)&0x3f] ^
            feistelBox[3][(t>>16)&0x3f] ^
            feistelBox[1][(t>>24)&0x3f]
    
        t = ((r << 28) | (r >> 4)) ^ uint32(k0)
        l ^= feistelBox[6][(t)&0x3f] ^
            feistelBox[4][(t>>8)&0x3f] ^
            feistelBox[2][(t>>16)&0x3f] ^
            feistelBox[0][(t>>24)&0x3f]
    
        t = l ^ uint32(k1>>32)
        r ^= feistelBox[7][t&0x3f] ^
            feistelBox[5][(t>>8)&0x3f] ^
            feistelBox[3][(t>>16)&0x3f] ^
            feistelBox[1][(t>>24)&0x3f]
    
        t = ((l << 28) | (l >> 4)) ^ uint32(k1)
        r ^= feistelBox[6][(t)&0x3f] ^
            feistelBox[4][(t>>8)&0x3f] ^
            feistelBox[2][(t>>16)&0x3f] ^
            feistelBox[0][(t>>24)&0x3f]
    
        return l, r
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    初始置换和终结置换

    进入Feistel轮之前,64位明文需做一次初始置换。Feistel轮结束后,需做一次反向操作,即终结置换。

    go标准库中使用的初始置换表和终结置换表如下:

    // 初始置换表
    var initialPermutation = [64]byte{
        6, 14, 22, 30, 38, 46, 54, 62,
        4, 12, 20, 28, 36, 44, 52, 60,
        2, 10, 18, 26, 34, 42, 50, 58,
        0, 8, 16, 24, 32, 40, 48, 56,
        7, 15, 23, 31, 39, 47, 55, 63,
        5, 13, 21, 29, 37, 45, 53, 61,
        3, 11, 19, 27, 35, 43, 51, 59,
        1, 9, 17, 25, 33, 41, 49, 57,
    }
    
    // 终结置换表
    var finalPermutation = [64]byte{
        24, 56, 16, 48, 8, 40, 0, 32,
        25, 57, 17, 49, 9, 41, 1, 33,
        26, 58, 18, 50, 10, 42, 2, 34,
        27, 59, 19, 51, 11, 43, 3, 35,
        28, 60, 20, 52, 12, 44, 4, 36,
        29, 61, 21, 53, 13, 45, 5, 37,
        30, 62, 22, 54, 14, 46, 6, 38,
        31, 63, 23, 55, 15, 47, 7, 39,
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    子密钥的计算

    DES初始密钥为64位,其中8位用于奇偶校验,实际密钥为56位,64位初始密钥经过PC-1密钥置换后,生成56位串。经PC-1置换后56位的串,分为左右两部分,各28位,分别左移1位,形成C0和D0,C0和D0合并成56位,经PC-2置换后生成48位子密钥K0。C0和D0分别左移1位,形成C1和D1,C1和D1合并成56位,经PC-2置换后生成子密钥K1。以此类推,直至生成子密钥K15。但注意每轮循环左移的位数,有如下规定:

    var ksRotations = [16]uint8{1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1}
     
     
    • 1

    image

    DES子密钥计算的代码如下:

    // creates 16 56-bit subkeys from the original key
    func (c *desCipher) generateSubkeys(keyBytes []byte) {
        // PC-1密钥置换,生成56位串
        key := binary.BigEndian.Uint64(keyBytes)
        permutedKey := permuteBlock(key, permutedChoice1[:])
    
        // 56位串分左右两部分,各28位
        leftRotations := ksRotate(uint32(permutedKey >> 28))
        rightRotations := ksRotate(uint32(permutedKey<<4) >> 4)
    
        // 生成子密钥
        for i := 0; i < 16; i++ {
            //合并左右两部分,之后PC-2置换
            pc2Input := uint64(leftRotations[i])<<28 | uint64(rightRotations[i])
            c.subkeys[i] = unpack(permuteBlock(pc2Input, permutedChoice2[:]))
        }
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    3DES

    DES是一个经典的对称加密算法,但也缺陷明显,即56位的密钥安全性不足,已被证实可以在短时间内破解。为解决此问题,出现了3DES,也称Triple DES,3DES为DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密。为了兼容普通的DES,3DES并没有直接使用 加密->加密->加密 的方式,而是采用了加密->解密->加密 的方式。

    image

    当三重密钥均相同时,前两步相互抵消,相当于仅实现了一次加密,因此可实现对普通DES加密算法的兼容。

    image

    解密

    3DES解密过程,与加密过程相反,即逆序使用密钥。是以密钥3、密钥2、密钥1的顺序执行 解密->加密->解密

    image

    相比DES,3DES因密钥长度变长,安全性有所提高,但其处理速度不高。因此又出现了AES加密算法,AES较于3DES速度更快、安全性更高。

    006 DES、3DES加密算法

    DES加密算法,为对称加密算法中的一种。70年代初由IBM研发,后1977年被美国国家标准局采纳为数据加密标准,即DES全称的由来:Data Encryption Standard。对称加密算法,是相对于非对称加密算法而言的。两者区别在于,对称加密在加密和解密时使用同一密钥,而非对称加密在加密和解密时使用不同的密钥,即公钥和私钥。常见的DES、3DES、AES均为对称加密算法,而RSA、椭圆曲线加密算法,均为非对称加密算法。

      DES是以64比特的明文为一个单位来进行加密的,超过64比特的数据,要求按固定的64比特的大小分组,分组有很多模式,后续单独总结,暂时先介绍DES加密算法。DES使用的密钥长度为64比特,但由于每隔7个比特设置一个奇偶校验位,因此其密钥长度实际为56比特。奇偶校验为最简单的错误检测码,即根据一组二进制代码中1的个数是奇数或偶数来检测错误。

    Feistel网络

    DES的基本结构,由IBM公司的Horst Feistel设计,因此称Feistel网络。在Feistel网络中,加密的每个步骤称为轮,经过初始置换后的64位明文,进行了16轮Feistel轮的加密过程,最后经过终结置换后形成最终的64位密文。如下为Feistel网络的示意图:

    image

    64位明文被分为左、右两部分处理,右侧数据和子密钥经过轮函数f生成用于加密左侧数据的比特序列,与左侧数据异或运算,运算结果输出为加密后的左侧,右侧数据则直接输出为右侧。
      其中子密钥为本轮加密使用的密钥,每次Feistel均使用不同的子密钥。子密钥的计算,以及轮函数的细节,稍后下文介绍。由于一次Feistel轮并不会加密右侧,因此需要将上一轮输出后的左右两侧对调后,重复Feistel轮的过程,DES算法共计进行16次Feistel轮,最后一轮输出后左右两侧无需对调。

    DES加密和解密的过程一致,均使用Feistel网络实现,区别仅在于解密时,密文作为输入,并逆序使用子密钥。
    go标准库中DES算法实现如下:

    func cryptBlock(subkeys []uint64, dst, src []byte, decrypt bool) {
        b := binary.BigEndian.Uint64(src)
        //初始置换
        b = permuteInitialBlock(b)
        left, right := uint32(b>>32), uint32(b)
    
        left = (left << 1) | (left >> 31)
        right = (right << 1) | (right >> 31)
    
        //共计16次feistel轮
        if decrypt {
            for i := 0; i < 8; i++ {
                left, right = feistel(left, right, subkeys[15-2*i], subkeys[15-(2*i+1)])
            }
        } else {
            for i := 0; i < 8; i++ {
                left, right = feistel(left, right, subkeys[2*i], subkeys[2*i+1])
            }
        }
    
        left = (left << 31) | (left >> 1)
        right = (right << 31) | (right >> 1)
    
        // 左右切换并执行最终置换
        preOutput := (uint64(right) << 32) | uint64(left)
        binary.BigEndian.PutUint64(dst, permuteFinalBlock(preOutput))
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    DES算法共计进行16次Feistel轮,上面却只有循环了8次
    这是由于 feistel 方法中一次操作了左右两个参数,所以循环次数减半

    func feistel(l, r uint32, k0, k1 uint64) (lout, rout uint32) {
        var t uint32
    
        t = r ^ uint32(k0>>32)
        l ^= feistelBox[7][t&0x3f] ^
            feistelBox[5][(t>>8)&0x3f] ^
            feistelBox[3][(t>>16)&0x3f] ^
            feistelBox[1][(t>>24)&0x3f]
    
        t = ((r << 28) | (r >> 4)) ^ uint32(k0)
        l ^= feistelBox[6][(t)&0x3f] ^
            feistelBox[4][(t>>8)&0x3f] ^
            feistelBox[2][(t>>16)&0x3f] ^
            feistelBox[0][(t>>24)&0x3f]
    
        t = l ^ uint32(k1>>32)
        r ^= feistelBox[7][t&0x3f] ^
            feistelBox[5][(t>>8)&0x3f] ^
            feistelBox[3][(t>>16)&0x3f] ^
            feistelBox[1][(t>>24)&0x3f]
    
        t = ((l << 28) | (l >> 4)) ^ uint32(k1)
        r ^= feistelBox[6][(t)&0x3f] ^
            feistelBox[4][(t>>8)&0x3f] ^
            feistelBox[2][(t>>16)&0x3f] ^
            feistelBox[0][(t>>24)&0x3f]
    
        return l, r
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    初始置换和终结置换

    进入Feistel轮之前,64位明文需做一次初始置换。Feistel轮结束后,需做一次反向操作,即终结置换。

    go标准库中使用的初始置换表和终结置换表如下:

    // 初始置换表
    var initialPermutation = [64]byte{
        6, 14, 22, 30, 38, 46, 54, 62,
        4, 12, 20, 28, 36, 44, 52, 60,
        2, 10, 18, 26, 34, 42, 50, 58,
        0, 8, 16, 24, 32, 40, 48, 56,
        7, 15, 23, 31, 39, 47, 55, 63,
        5, 13, 21, 29, 37, 45, 53, 61,
        3, 11, 19, 27, 35, 43, 51, 59,
        1, 9, 17, 25, 33, 41, 49, 57,
    }
    
    // 终结置换表
    var finalPermutation = [64]byte{
        24, 56, 16, 48, 8, 40, 0, 32,
        25, 57, 17, 49, 9, 41, 1, 33,
        26, 58, 18, 50, 10, 42, 2, 34,
        27, 59, 19, 51, 11, 43, 3, 35,
        28, 60, 20, 52, 12, 44, 4, 36,
        29, 61, 21, 53, 13, 45, 5, 37,
        30, 62, 22, 54, 14, 46, 6, 38,
        31, 63, 23, 55, 15, 47, 7, 39,
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    子密钥的计算

    DES初始密钥为64位,其中8位用于奇偶校验,实际密钥为56位,64位初始密钥经过PC-1密钥置换后,生成56位串。经PC-1置换后56位的串,分为左右两部分,各28位,分别左移1位,形成C0和D0,C0和D0合并成56位,经PC-2置换后生成48位子密钥K0。C0和D0分别左移1位,形成C1和D1,C1和D1合并成56位,经PC-2置换后生成子密钥K1。以此类推,直至生成子密钥K15。但注意每轮循环左移的位数,有如下规定:

    var ksRotations = [16]uint8{1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1}
     
     
    • 1

    image

    DES子密钥计算的代码如下:

    // creates 16 56-bit subkeys from the original key
    func (c *desCipher) generateSubkeys(keyBytes []byte) {
        // PC-1密钥置换,生成56位串
        key := binary.BigEndian.Uint64(keyBytes)
        permutedKey := permuteBlock(key, permutedChoice1[:])
    
        // 56位串分左右两部分,各28位
        leftRotations := ksRotate(uint32(permutedKey >> 28))
        rightRotations := ksRotate(uint32(permutedKey<<4) >> 4)
    
        // 生成子密钥
        for i := 0; i < 16; i++ {
            //合并左右两部分,之后PC-2置换
            pc2Input := uint64(leftRotations[i])<<28 | uint64(rightRotations[i])
            c.subkeys[i] = unpack(permuteBlock(pc2Input, permutedChoice2[:]))
        }
    }
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    3DES

    DES是一个经典的对称加密算法,但也缺陷明显,即56位的密钥安全性不足,已被证实可以在短时间内破解。为解决此问题,出现了3DES,也称Triple DES,3DES为DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密。为了兼容普通的DES,3DES并没有直接使用 加密->加密->加密 的方式,而是采用了加密->解密->加密 的方式。

    image

    当三重密钥均相同时,前两步相互抵消,相当于仅实现了一次加密,因此可实现对普通DES加密算法的兼容。

    image

    解密

    3DES解密过程,与加密过程相反,即逆序使用密钥。是以密钥3、密钥2、密钥1的顺序执行 解密->加密->解密

    image

    相比DES,3DES因密钥长度变长,安全性有所提高,但其处理速度不高。因此又出现了AES加密算法,AES较于3DES速度更快、安全性更高。

            <div class="hide-article-box hide-article-pos text-center">
            <a class="btn-readmore" data-report-view="{&quot;mod&quot;:&quot;popu_376&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;,&quot;strategy&quot;:&quot;readmore&quot;}" data-report-click="{&quot;mod&quot;:&quot;popu_376&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;,&quot;strategy&quot;:&quot;readmore&quot;}">
                展开阅读全文
                <svg class="icon chevrondown" aria-hidden="true">
                    <use xlink:href="#csdnc-chevrondown"></use>
                </svg>
            </a>
        </div>
            <div class="recommend-box"><div class="recommend-item-box type_blog clearfix" data-report-view="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/xyu1234/article/details/55517212&quot;,&quot;strategy&quot;:&quot;BlogCommendFromMachineLearnPai2&quot;,&quot;index&quot;:&quot;0&quot;}" data-report-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/xyu1234/article/details/55517212&quot;,&quot;strategy&quot;:&quot;BlogCommendFromMachineLearnPai2&quot;,&quot;index&quot;:&quot;0&quot;}">
    <div class="content" style="width: 712px;">
    	<a href="https://blog.csdn.net/xyu1234/article/details/55517212" target="_blank" rel="noopener" title="3DES加密解密">
    	<h4 class="text-truncate oneline" style="width: 552px;">
    			<em>3DES</em>加密解密		</h4>
    	<div class="info-box d-flex align-content-center">
    		<p class="date-and-readNum oneline">
    			<span class="date hover-show">02-17</span>
    			<span class="read-num hover-hide">
    				阅读数 
    				8663</span>
    			</p>
    		</div>
    	</a>
    	<p class="content" style="width: 712px;">
    		<a href="https://blog.csdn.net/xyu1234/article/details/55517212" target="_blank" rel="noopener" title="3DES加密解密">
    			<span class="desc oneline">3DES又称TripleDES,是DES加密算法的一种模式,它使用3条56位的密钥对数据进行三次加密。3DES(即TripleDES)是DES向AES过渡的加密算法(1999年,NIST将3-DE...</span>
    		</a>
    		<span class="blog_title_box oneline no-title">
    								<span class="type-show type-show-blog type-show-after">博文</span>
    											</span>
    	</p>
    </div>
    </div>
    
    <div class="comment-edit-box d-flex">
    	<a id="commentsedit"></a>
    	<div class="user-img">
    		<a href="//me.csdn.net/weixin_42447342" target="_blank" rel="noopener">
    			<img class="" src="https://avatar.csdn.net/6/D/7/3_weixin_42447342.jpg">
    		</a>
    	</div>
    	<form id="commentform">
    		<input type="hidden" id="comment_replyId">
    		<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
    		<div class="opt-box"> <!-- d-flex -->
    			<div id="ubbtools" class="add_code">
    				<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
    			</div>
    			<input type="hidden" id="comment_replyId" name="comment_replyId">
    			<input type="hidden" id="article_id" name="article_id" value="80547781">
    			<input type="hidden" id="comment_userId" name="comment_userId" value="">
    			<input type="hidden" id="commentId" name="commentId" value="">
    			<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-report-click="{&quot;mod&quot;:&quot;popu_384&quot;,&quot;dest&quot;:&quot;&quot;}"><a href="#" target="_blank" class="comment_area_btn" rel="noopener">发表评论</a></div>
    			<div class="dropdown" id="myDrap">
    				<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
    				<div class="txt-selected text-truncate">添加代码片</div>
    				<svg class="icon d-block" aria-hidden="true">
    					<use xlink:href="#csdnc-triangledown"></use>
    				</svg>
    				</a>
    				<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
    					<li><a data-code="html">HTML/XML</a></li>
    					<li><a data-code="objc">objective-c</a></li>
    					<li><a data-code="ruby">Ruby</a></li>
    					<li><a data-code="php">PHP</a></li>
    					<li><a data-code="csharp">C</a></li>
    					<li><a data-code="cpp">C++</a></li>
    					<li><a data-code="javascript">JavaScript</a></li>
    					<li><a data-code="python">Python</a></li>
    					<li><a data-code="java">Java</a></li>
    					<li><a data-code="css">CSS</a></li>
    					<li><a data-code="sql">SQL</a></li>
    					<li><a data-code="plain">其它</a></li>
    				</ul>
    			</div>  
    			<div class="right-box">
    				<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
    				<input type="button" class="btn btn-sm btn-cancel d-none" value="取消回复">
    				<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
    			</div>
    		</div>
    	</form>
    </div>
    
    	<div class="comment-list-container">
    	<a id="comments"></a>
    	<div class="comment-list-box">
    	</div>
    	<div id="commentPage" class="pagination-box d-none"></div>
    	<div class="opt-box text-center">
    		<div class="btn btn-sm btn-link-blue" id="btnMoreComment"></div>
    	</div>
    </div>
    
    <div class="recommend-item-box recommend-recommend-box"><div class="content" style="width: 712px;"><link rel="stylesheet" href="https://www.csdn.net/company/css/edu-recommend-1.0.1.css"><div class="edu-ad-list"><div class="recommend-item-box type_blog clearfix"><div class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=cEiEnQtvHLnSnAtpcASptiAcyHnbLbcDEtSDJcbHSAviSSApoiAnHpvybLvAHQbntJWbDiSSScJEtAUmbLnSLUtycpnfLiAHcQSQ&amp;k=&amp;dest=https%3A%2F%2Fmall.csdn.net%2Fv2%2F%23%2Fproduct%2F1586&amp;adBlockFlag=1" target="_blank" title="一本可陪伴一辈子的笔记本"><h4 class="text-truncate oneline" style="width: 662px;">一本可陪伴一辈子的笔记本</h4></a><p class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=cEiEnQtvHLnSnAtpcASptiAcyHnbLbcDEtSDJcbHSAviSSApoiAnHpvybLvAHQbntJWbDiSSScJEtAUmbLnSLUtycpnfLiAHcQSQ&amp;k=&amp;dest=https%3A%2F%2Fmall.csdn.net%2Fv2%2F%23%2Fproduct%2F1586&amp;adBlockFlag=1" target="_blank" title="一本可陪伴一辈子的笔记本"><span class="desc oneline">可擦可写,可循环利用,支持OCR识别,让你的笔记本变得智能</span></a><span class="blog_title_box oneline "><span class="type-show type-show-edu type-show-after">学院</span>讲师:<span class="blog_title">CSDN</span></span></p></div></div></div><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=cEiEnQtvHLnSnAtpcASptiAcyHnbLbcDEtSDJcbHSAviSSApoiAnHpvybLvAHQbntJWbDiSSScJEtAUmbLnSLUtycpnfLiAHcQSQ&amp;adBlockFlag=1"></div></div>
    
    <div class="recommend-item-box recommend-recommend-box"><div class="content" style="width: 712px;"><link rel="stylesheet" href="https://www.csdn.net/company/css/edu-recommend-1.0.1.css"><div class="edu-ad-list"><div class="recommend-item-box type_blog clearfix"><div class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=picLQQLtJHcADiyHLtitLcQiAinnbpiAitpmiLUHXAnQbHDAttXpLpLSEtAcAbpiHpJLQpJWEbnELQnoiQQytUpUStLHSctQbnAQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed3&amp;adBlockFlag=1" target="_blank" title="腾讯AI击败王者荣耀职业队,1天训练达440年,网友:想哭!"><h4 class="text-truncate oneline" style="width: 662px;">腾讯AI击败王者荣耀职业队,1天训练达440年,网友:想哭!</h4></a><p class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=picLQQLtJHcADiyHLtitLcQiAinnbpiAitpmiLUHXAnQbHDAttXpLpLSEtAcAbpiHpJLQpJWEbnELQnoiQQytUpUStLHSctQbnAQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed3&amp;adBlockFlag=1" target="_blank" title="腾讯AI击败王者荣耀职业队,1天训练达440年,网友:想哭!"><span class="desc oneline">腾讯AI绝悟的能力,已经精进到王者荣耀电竞职业水平,AI应用空间究竟有多大!</span></a><span class="blog_title_box oneline "><span class="type-show type-show-edu type-show-after">学院</span>讲师:<span class="blog_title">CSDN</span></span></p></div></div></div><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=picLQQLtJHcADiyHLtitLcQiAinnbpiAitpmiLUHXAnQbHDAttXpLpLSEtAcAbpiHpJLQpJWEbnELQnoiQQytUpUStLHSctQbnAQ&amp;adBlockFlag=1"></div></div>
    
    		<div class="recommend-item-box blog-expert-recommend-box" style="display: block;">
    		<div class="d-flex">
    			<div class="blog-expert-recommend">
    				<div class="blog-expert">
    					<div class="blog-expert-flexbox" data-report-view="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><a href="https://blog.csdn.net/xyu1234" target="_blank"><img src="https://avatar.csdn.net/F/7/C/3_xyu1234.jpg" alt="sxy_Fighting" title="sxy_Fighting"></a><span data-report-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="xyu1234" data-nick="sxy_Fighting">关注</span></span></div><div class="info"><span data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><a href="https://blog.csdn.net/xyu1234" target="_blank"><h5 class="oneline" title="sxy_Fighting">sxy_Fighting</h5></a></span>  <p></p><p class="article-num" title="20篇文章"> 20篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><a href="https://blog.csdn.net/blowfire123" target="_blank"><img src="https://avatar.csdn.net/E/9/D/3_blowfire123.jpg" alt="武倔" title="武倔"></a><span data-report-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="blowfire123" data-nick="武倔">关注</span></span></div><div class="info"><span data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><a href="https://blog.csdn.net/blowfire123" target="_blank"><h5 class="oneline" title="武倔">武倔</h5></a></span>  <p></p><p class="article-num" title="22篇文章"> 22篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><a href="https://blog.csdn.net/aa2397199142" target="_blank"><img src="https://avatar.csdn.net/E/5/7/3_aa2397199142.jpg" alt="大牛的征程" title="大牛的征程"></a><span data-report-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="aa2397199142" data-nick="大牛的征程">关注</span></span></div><div class="info"><span data-report-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/luckydog612/article/details/80547781&quot;}"><a href="https://blog.csdn.net/aa2397199142" target="_blank"><h5 class="oneline" title="大牛的征程">大牛的征程</h5></a></span>  <p></p><p class="article-num" title="74篇文章"> 74篇文章</p><p class="article-num" title="排名:千里之外"> 排名:千里之外</p><p></p></div></div></div></div>
    				</div>
    			</div>
    		</div>
    	</div>
    
    <div class="recommend-item-box recommend-recommend-box"><div class="content" style="width: 712px;"><link rel="stylesheet" href="https://www.csdn.net/company/css/edu-recommend-1.0.1.css"><div class="edu-ad-list"><div class="recommend-item-box type_blog clearfix"><div class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=cQALnbLEEQHcADJbApJyiHinJcLJEQpJAmJvHXcHLDiESEXUiHEQntWQpXEQJbbLcnUbSXSLvtvJtAiEHJJcApSnEEtEbQLESbEQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed5&amp;adBlockFlag=1" target="_blank" title="羡慕AI高薪岗!为什么这类程序员不建议大家转型?"><h4 class="text-truncate oneline" style="width: 662px;">羡慕AI高薪岗!为什么这类程序员不建议大家转型?</h4></a><p class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=cQALnbLEEQHcADJbApJyiHinJcLJEQpJAmJvHXcHLDiESEXUiHEQntWQpXEQJbbLcnUbSXSLvtvJtAiEHJJcApSnEEtEbQLESbEQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed5&amp;adBlockFlag=1" target="_blank" title="羡慕AI高薪岗!为什么这类程序员不建议大家转型?"><span class="desc oneline">被众多开发工程师羡慕的AI程序员为啥这么高薪!30w只是白菜价有啥要求?</span></a><span class="blog_title_box oneline "><span class="type-show type-show-edu type-show-after">学院</span>讲师:<span class="blog_title">CSDN</span></span></p></div></div></div><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=cQALnbLEEQHcADJbApJyiHinJcLJEQpJAmJvHXcHLDiESEXUiHEQntWQpXEQJbbLcnUbSXSLvtvJtAiEHJJcApSnEEtEbQLESbEQ&amp;adBlockFlag=1"></div></div>
    
    JAVA实现DES加密和解密

    07-17 阅读数 1万+

    JAVA实现DES加密、JAVA实现DES解密 博文 来自: 新新

    3DES 算法
    10-07

    在网上找到这么个算法进行3DES加密的,我测试后,发现可以用16密钥对8字节明文加密,对16字节明文加密就失败了。对8字节明文是直接加密的,不知道对16字节明文应该采用什么方法?我目前采用的是以下方法 论坛

    3DES加密,代码得出的结果跟在线加密得出的结果不一致
    06-06

    这个是在线加密网站得出的结果。 密钥:346c70393ffe88c7 明文:{“operationCode”:”00002004”,”userName”:”zhangsan”,”mobile”:” 论坛

    <div class="recommend-item-box recommend-recommend-box"><div class="content" style="width: 712px;"><link rel="stylesheet" href="https://www.csdn.net/company/css/edu-recommend-1.0.1.css"><div class="edu-ad-list"><div class="recommend-item-box type_blog clearfix"><div class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=ApAcApQpQinnLtSppnSHJnicDJynLHcnScDSJmSHpXSbbEDHnUpSbmyHQWLiEpALpEQSLbLLbmoSJAQAEbiScDSDnJbUEHcQLLLQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed7&amp;adBlockFlag=1" target="_blank" title="BAT,华为等大厂凭什么豪投上亿元砸这类AI人才!"><h4 class="text-truncate oneline" style="width: 662px;">BAT,华为等大厂凭什么豪投上亿元砸这类AI人才!</h4></a><p class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=ApAcApQpQinnLtSppnSHJnicDJynLHcnScDSJmSHpXSbbEDHnUpSbmyHQWLiEpALpEQSLbLLbmoSJAQAEbiScDSDnJbUEHcQLLLQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed7&amp;adBlockFlag=1" target="_blank" title="BAT,华为等大厂凭什么豪投上亿元砸这类AI人才!"><span class="desc oneline">AI时代可能已经到来了,所以,你准备好抓住时机了吗?</span></a><span class="blog_title_box oneline "><span class="type-show type-show-edu type-show-after">学院</span>讲师:<span class="blog_title">CSDN</span></span></p></div></div></div><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=ApAcApQpQinnLtSppnSHJnicDJynLHcnScDSJmSHpXSbbEDHnUpSbmyHQWLiEpALpEQSLbLLbmoSJAQAEbiScDSDnJbUEHcQLLLQ&amp;adBlockFlag=1"></div></div>
    
    <div class="recommend-item-box recommend-recommend-box"><div class="content" style="width: 712px;"><link rel="stylesheet" href="https://www.csdn.net/company/css/edu-recommend-1.0.1.css"><div class="edu-ad-list"><div class="recommend-item-box type_blog clearfix"><div class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=JbcJpQQSHtbtpAncDAyHLbtAicQmpfiHpAiLnSXpbLUHDXLpitbnbnnnADnLiHAEtSQEEWQJQfmbXyiJoEEXtHpbbtLiLtcSSiQQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed4&amp;adBlockFlag=1" target="_blank" title="拿下阿里offer的AI应届生,需要具备什么样的能力?"><h4 class="text-truncate oneline" style="width: 662px;">拿下阿里offer的AI应届生,需要具备什么样的能力?</h4></a><p class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=JbcJpQQSHtbtpAncDAyHLbtAicQmpfiHpAiLnSXpbLUHDXLpitbnbnnnADnLiHAEtSQEEWQJQfmbXyiJoEEXtHpbbtLiLtcSSiQQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed4&amp;adBlockFlag=1" target="_blank" title="拿下阿里offer的AI应届生,需要具备什么样的能力?"><span class="desc oneline">人工智能的火广大程序员应该都有了解,但是进军AI领域的条件是?</span></a><span class="blog_title_box oneline "><span class="type-show type-show-edu type-show-after">学院</span>讲师:<span class="blog_title">CSDN</span></span></p></div></div></div><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=JbcJpQQSHtbtpAncDAyHLbtAicQmpfiHpAiLnSXpbLUHDXLpitbnbnnnADnLiHAEtSQEEWQJQfmbXyiJoEEXtHpbbtLiLtcSSiQQ&amp;adBlockFlag=1"></div></div>
    
    C语言实现DES加密与解密算法
    07-20

    在网上找到一段用C语言实现的DES加密与解密的源代码,经过改造之后可以加密,也可以解密。但它加密后的密文好象不标准,放到网上(http://des.online-domain-tools.com/)进 论坛

    <div class="recommend-item-box recommend-recommend-box"><div class="content" style="width: 712px;"><link rel="stylesheet" href="https://www.csdn.net/company/css/edu-recommend-1.0.1.css"><div class="edu-ad-list"><div class="recommend-item-box type_blog clearfix"><div class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=bpLciEiAtQLQLHncnDypnHpcpAiQmtbXnEEnSnSAHXfHnAniSDXfJiHiJQAbtSJpWtJLQipicLfEcbpUtADpELpiEAfDSJSHcQiQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed6&amp;adBlockFlag=1" target="_blank" title="AI学习路线,考虑转型/跳槽程序员免费领取,自测专业程度!"><h4 class="text-truncate oneline" style="width: 662px;">AI学习路线,考虑转型/跳槽程序员免费领取,自测专业程度!</h4></a><p class="content" style="width: 712px;"><a href="https://kunyu.csdn.net?d=2&amp;m=bpLciEiAtQLQLHncnDypnHpcpAiQmtbXnEEnSnSAHXfHnAniSDXfJiHiJQAbtSJpWtJLQipicLfEcbpUtADpELpiEAfDSJSHcQiQ&amp;k=&amp;dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogfeed6&amp;adBlockFlag=1" target="_blank" title="AI学习路线,考虑转型/跳槽程序员免费领取,自测专业程度!"><span class="desc oneline">如何能够短时间内抓住技术重点,打造属于自己的“offer收割机”?</span></a><span class="blog_title_box oneline "><span class="type-show type-show-edu type-show-after">学院</span>讲师:<span class="blog_title">CSDN</span></span></p></div></div></div><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=bpLciEiAtQLQLHncnDypnHpcpAiQmtbXnEEnSnSAHXfHnAniSDXfJiHiJQAbtSJpWtJLQipicLfEcbpUtADpELpiEAfDSJSHcQiQ&amp;adBlockFlag=1"></div></div>
    
    <div class="recommend-item-box recommend-recommend-box"><div id="kp_box_65" data-pid="65"><iframe src="https://adaccount.csdn.net/#/preview/577?m=SSbbcvSDtSHJppcELmiEtSJSpoiSEHcJSDiSbDpbSULSbiHSiXEnAtbLvnAAHEvyynEHQJJEpWAQQpXJQpiJDQJEUcHpbLbncLQQ&amp;k=" scrolling="no" width="100%" height="75px" frameborder="0"></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&amp;k=&amp;m=SSbbcvSDtSHJppcELmiEtSJSpoiSEHcJSDiSbDpbSULSbiHSiXEnAtbLvnAAHEvyynEHQJJEpWAQQpXJQpiJDQJEUcHpbLbncLQQ"></div></div>
    
    DES/3DES(TripleDES)加密、解密测试数据

    09-26 阅读数 120

    2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt;... 博文 来自: weixin_34122548的博客

    <div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-report-view="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/weixin_42313453/11124873&quot;,&quot;strategy&quot;:&quot;BlogCommendFromBaidu2&quot;,&quot;index&quot;:&quot;35&quot;}" data-report-click="{&quot;mod&quot;:&quot;popu_614&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/weixin_42313453/11124873&quot;,&quot;strategy&quot;:&quot;BlogCommendFromBaidu2&quot;,&quot;index&quot;:&quot;35&quot;}">
    	<a href="https://download.csdn.net/download/weixin_42313453/11124873" rel="noopener" target="_blank">
    		<div class="content clearfix">
    			<div class="">
    				<h4 class="text-truncate oneline clearfix">
    					<em>DES</em>加密技术					</h4>
    				<span class="data float-right">04-18</span>
    			</div>
    			<div class="desc oneline">
    					信息安全问题是关乎每一个人的重大问题,特别是在这个高度发达的信息时代,这篇文章详细的介绍了DES加密技术和算法的整体设计流程,而且还附带源代码,适合初学者学习参考。				</div>
    			<span class="type-show type-show-download">下载</span>
    		</div>
    	</a>
    </div>
    
    <div class="recommend-item-box recommend-recommend-box"><div id="kp_box_66" data-pid="66" data-report-view="{&quot;mod&quot;:&quot;kp_popu_66-558&quot;,&quot;keyword&quot;:&quot;&quot;}" data-report-click="{&quot;mod&quot;:&quot;kp_popu_66-558&quot;,&quot;keyword&quot;:&quot;&quot;}"><script async="async" charset="utf-8" src="https://shared.ydstatic.com/js/yatdk/3.0.1/stream.js" data-id="8935aa488dd58452b9e5ee3b44f1212f" data-udid="24C56021-A1CB-4A07-993A-2D2A7F00FDCD" data-div-style="width:900px;height:76px;" data-img-style="float:left;margin-right:15px;width:90px;height:60px;" data-tit-style="font-size:16px;color:#f13d3d;" data-des-style="font-size:12px;color:#333;" data-is-handling="1">
    
    广告
                <div class="recommend-item-box type_hot_word">
                                <div class="content clearfix" style="width: 712px;">
                    <div class="float-left">
                                        <span>
                        <a href="https://www.csdn.net/gather_11/MtjaQgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c# 去空格去转义符</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_18/MtjaUgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c#用户登录窗体代码</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_14/MtjaYgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c# 流</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_10/MtjacgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c# linux 可视化</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_13/MtjaggtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c# mvc 返回图片</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_16/MtjakgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c# 像素空间</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_13/MtzaAgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c# 日期 最后一天</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_1c/MtzaEgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c#字典序排序</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_16/MtzaIgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c# 截屏取色</a>
                    </span>
                                        <span>
                        <a href="https://www.csdn.net/gather_11/MtzaMgtsZG93bmxvYWQO0O0O.html" target="_blank">
                        c#中的哪些属于托管机制</a>
                    </span>
                                        </div>
                </div>
                                </div>
                            <div class="recommend-loading-box">
                <img src="https://csdnimg.cn/release/phoenix/images/feedLoading.gif">
            </div>
            <div class="recommend-end-box">
                <p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
            </div>
        </div>
    </main>
    
    <aside>
    <div id="asideProfile" class="aside-box">
    <!-- <h3 class="aside-title">个人资料</h3> -->
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://blog.csdn.net/luckydog612">
              <img src="https://avatar.csdn.net/F/4/B/3_luckydog612.jpg" class="avatar_pic" username="luckydog612">
                              <img src="https://g.csdnimg.cn/static/user-reg-year/1x/2.png" class="user-years">
                          </a>
            
        </div>
        <div class="user-info d-flex flex-column">
            <p class="name csdn-tracking-statistics tracking-click" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}" username="luckydog612">
                <a href="https://blog.csdn.net/luckydog612" class="" id="uid" title="李柏林">李柏林</a>
            </p>
                                        <p class="personal-home-page" style="right:-96px;"><a target="_blank" href="https://me.csdn.net/luckydog612">TA的个人主页 &gt;</a></p>
                    </div>
                <div class="profile-personal-letter">
            <a id="profile-personal-alink" href="https://www.csdn.net/apps/download/?code=app_1564993662&amp;callback=csdnapp%3A%2F%2Fweb%3Furl%3Dhttps%3A%2F%2Fapp.csdn.net%2Fother%3Fusername%3Dluckydog612" target="_blank" rel="noopener">私信</a>
        </div>
        <div class="opt-box d-flex  flex-column">
            <span class="csdn-tracking-statistics tracking-click" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;}">
                                    <a class="btn btn-sm btn-red-hollow attention" id="btnAttent" style="line-height:24px;padding:0;">关注</a>
                            </span>
        </div>
            </div>
    <div class="data-info d-flex item-tiling">
                <dl class="text-center" title="52">
                        <dt><a href="https://blog.csdn.net/luckydog612?t=1">原创</a></dt>
            <dd><a href="https://blog.csdn.net/luckydog612?t=1"><span class="count">52</span></a></dd>
                    </dl>
        <dl class="text-center" id="fanBox" title="64">
            <dt>粉丝</dt>
            <dd><span class="count" id="fan">64</span></dd>
        </dl>
        <dl class="text-center" title="18">
            <dt>喜欢</dt>
            <dd><span class="count">18</span></dd>
        </dl>
        <dl class="text-center" title="21">
            <dt>评论</dt>
            <dd><span class="count">21</span></dd>
        </dl>
    </div>
    <div class="grade-box clearfix">
        <dl>
            <dt>等级:</dt>
            <dd>
                <a href="https://blog.csdn.net/home/help.html#level" title="4级,点击查看等级说明" target="_blank">
                    <svg class="icon icon-level" aria-hidden="true">
                        <use xlink:href="#csdnc-bloglevel-4"></use>
                    </svg>
                </a>
            </dd>
        </dl>
        <dl>
            <dt>访问:</dt>
            <dd title="108737">
                10万+            </dd>
        </dl>
        <dl>
            <dt>积分:</dt>
            <dd title="1462">
                1462            </dd>
        </dl>
        <dl title="51857">
            <dt>排名:</dt>
            <dd>5万+</dd>
        </dl>
    </div>
        <div class="badge-box d-flex">
        <span>勋章:</span>
        <div class="badge d-flex">
                                                        <div class="icon-badge" title="领英">
                       <div class="mouse-box">
                          <img src="https://g.csdnimg.cn/static/user-medal/linkedin.svg" alt="">
                          <div class="icon-arrow"></div>
                       </div>
                       <div class="grade-detail-box">
                           <div class="pos-box">
                               <div class="left-box d-flex justify-content-center align-items-center flex-column">
                                    <img src="https://g.csdnimg.cn/static/user-medal/linkedin.svg" alt="">
                                   <p>领英</p>
                               </div>
                               <div class="right-box">
                                   绑定领英第三方账户获取                               </div>
                           </div>
                       </div>
                   </div>
                                                             <div class="icon-badge" title="GitHub">
                       <div class="mouse-box">
                          <img src="https://g.csdnimg.cn/static/user-medal/github.svg" alt="">
                          <div class="icon-arrow"></div>
                       </div>
                       <div class="grade-detail-box">
                           <div class="pos-box">
                               <div class="left-box d-flex justify-content-center align-items-center flex-column">
                                    <img src="https://g.csdnimg.cn/static/user-medal/github.svg" alt="">
                                   <p>GitHub</p>
                               </div>
                               <div class="right-box">
                                   绑定GitHub第三方账户获取                               </div>
                           </div>
                       </div>
                   </div>
                                                             <div class="icon-badge" title="脉脉勋章">
                       <div class="mouse-box">
                          <img src="https://g.csdnimg.cn/static/user-medal/maimai.svg" alt="">
                          <div class="icon-arrow"></div>
                       </div>
                       <div class="grade-detail-box">
                           <div class="pos-box">
                               <div class="left-box d-flex justify-content-center align-items-center flex-column">
                                    <img src="https://g.csdnimg.cn/static/user-medal/maimai.svg" alt="">
                                   <p>脉脉勋章</p>
                               </div>
                               <div class="right-box">
                                   绑定脉脉第三方账户获取                               </div>
                           </div>
                       </div>
                   </div>
                                             </div>
        <script>
            (function ($) {
                setTimeout(function(){
                    $('div.icon-badge.show-moment').removeClass('show-moment');
                }, 5000);
            })(window.jQuery)
        </script>
    </div>
    </div>
    

    热门文章

    • 				<a href="https://blog.csdn.net/luckydog612/article/details/80877179">
                                                  Ubuntu命令卸载软件                    </a>
      				<p class="read">阅读数 <span>30232</span></p>
      			</li>
      						<li>
      
      				<a href="https://blog.csdn.net/luckydog612/article/details/80396077">
                                                  Linux系统编译Openssl步骤                    </a>
      				<p class="read">阅读数 <span>7149</span></p>
      			</li>
      						<li>
      
      				<a href="https://blog.csdn.net/luckydog612/article/details/80534758">
                                                  go-ethereum以太坊源码解析完整版                    </a>
      				<p class="read">阅读数 <span>5983</span></p>
      			</li>
      						<li>
      
      				<a href="https://blog.csdn.net/luckydog612/article/details/80547781">
                                                  DES、3DES加密算法                    </a>
      				<p class="read">阅读数 <span>5073</span></p>
      			</li>
      						<li>
      
      				<a href="https://blog.csdn.net/luckydog612/article/details/81166555">
                                                  公钥私钥以及比特币地址的产生过程                    </a>
      				<p class="read">阅读数 <span>4944</span></p>
      			</li>
      				</ul>
      </div>
      

    最新评论

    	<div class="aside-box">
    		<div id="kp_box_57" data-pid="57" data-report-view="{&quot;mod&quot;:&quot;kp_popu_57-707&quot;,&quot;keyword&quot;:&quot;&quot;}" data-report-click="{&quot;mod&quot;:&quot;kp_popu_57-707&quot;,&quot;keyword&quot;:&quot;&quot;}"><script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    

    			<div class="aside-box">
    		<div class="persion_article">
    		<div class="right_box footer_box csdn-tracking-statistics" data-report-view="{&quot;mod&quot;:&quot;popu_475&quot;}">        <div class="contact-box" id="footer-contact-box"><div class="img-box"><img src="https://csdnimg.cn/pubfooter/images/csdn-cxrs.png" alt="程序人生" style="padding: 6px;width: 98px;height: 98px;"><p class="app-text">程序人生</p></div><div class="img-box fr"><a href="https://blog.csdn.net/csdnnews?utm_source=csdn_footer" target="_blank"><img style="padding: 6px;width: 98px;height: 98px;" src="//csdnimg.cn/pubfooter/images/csdn-zx.png" alt="CSDN资讯"></a><p class="app-text">CSDN资讯</p></div></div>        <div class="contact-info">        <p><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M2.167 2h11.666C14.478 2 15 2.576 15 3.286v9.428c0 .71-.522 1.286-1.167 1.286H2.167C1.522 14 1 13.424 1 12.714V3.286C1 2.576 1.522 2 2.167 2zm-.164 3v1L8 10l6-4V5L8 9 2.003 5z" fill="#5c5c5c" fill-rule="evenodd"></path></svg><a href="mailto:webmaster@csdn.net" target="_blank"><span class="txt">kefu@csdn.net</span></a>        <em class="width126"><svg t="1538013544186" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23556" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M902.60033922 650.96445566c-18.0718526-100.84369837-94.08399771-166.87723736-94.08399771-166.87723737 10.87530062-91.53186599-28.94715402-107.78733693-28.94715401-107.78733691C771.20003413 93.08221664 517.34798062 98.02553561 511.98620441 98.16348824 506.65661791 98.02553561 252.75857992 93.08221664 244.43541101 376.29988138c0 0-39.79946279 16.25547094-28.947154 107.78733691 0 0-75.98915247 66.03353901-94.0839977 166.87723737 0 0-9.63372291 170.35365477 86.84146124 20.85850523 0 0 21.70461757 56.79068296 61.50407954 107.78733692 0 0-71.1607951 23.19910867-65.11385185 83.46161052 0 0-2.43717093 67.16015592 151.93232126 62.56172014 0 0 108.5460788-8.0932473 141.10300432-52.14626271H526.33792324c32.57991817 44.05301539 141.10300431 52.1462627 141.10300431 52.14626271 154.3235077 4.59843579 151.95071457-62.56172013 151.95071457-62.56172014 6.00095876-60.26250183-65.11385185-83.46161053-65.11385185-83.46161052 39.77647014-50.99665395 61.4810877-107.78733693 61.4810877-107.78733692 96.45219231 149.49514952 86.84146124-20.85850523 86.84146125-20.85850523" p-id="23557" fill="#5c5c5c"></path></svg><a href="http://wpa.b.qq.com/cgi/wpa.php?ln=1&amp;key=XzgwMDE4MDEwNl80ODc3MzVfODAwMTgwMTA2XzJf" class="qqcustomer_s" target="_blank"><span class="txt">QQ客服</span></a></em></p>        <p><em class="width126"><svg t="1538012951761" width="17" height="17" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23083" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M466.4934485 880.02006511C264.6019863 859.18313878 107.13744214 688.54706608 107.13744214 481.14947309 107.13744214 259.68965394 286.68049114 80.14660493 508.14031029 80.14660493s401.00286817 179.54304901 401.00286814 401.00286816v1.67343191C908.30646249 737.58941724 715.26799489 943.85339507 477.28978337 943.85339507c-31.71423369 0-62.61874229-3.67075386-92.38963569-10.60739903 30.09478346-11.01226158 56.84270313-29.63593923 81.5933008-53.22593095z m-205.13036267-398.87059202a246.77722444 246.77722444 0 0 0 493.5544489 0 30.85052691 30.85052691 0 0 0-61.70105383 0 185.07617062 185.07617062 0 0 1-370.15234125 0 30.85052691 30.85052691 0 0 0-61.70105382 0z" p-id="23084" fill="#5c5c5c"></path></svg><a href="http://bbs.csdn.net/forums/Service" target="_blank"><span class="txt">客服论坛</span></a></em>        <svg t="1538013874294" width="17" height="17" style="" viewBox="0 0 1194 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23784" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M1031.29689505 943.85339507h-863.70679012A71.98456279 71.98456279 0 0 1 95.60554212 871.86883228v-150.85178906c0-28.58329658 16.92325492-54.46750945 43.13135785-65.93861527l227.99160176-99.75813425c10.55341735-4.61543317 18.24580594-14.0082445 20.72896295-25.23643277l23.21211998-105.53417343a71.95757195 71.95757195 0 0 1 70.28414006-56.51881307h236.95255971c33.79252817 0 63.02360485 23.5090192 70.28414004 56.51881307l23.21211997 105.53417343c2.48315701 11.25517912 10.17554562 20.62099961 20.72896296 25.23643277l227.99160177 99.75813425a71.98456279 71.98456279 0 0 1 43.13135783 65.93861527v150.85178906A71.98456279 71.98456279 0 0 1 1031.26990421 943.85339507z m-431.85339506-143.94213475c143.94213474 0 143.94213474-48.34058941 143.94213474-107.96334876s-64.45411922-107.96334877-143.94213474-107.96334877c-79.51500637 0-143.94213474 48.34058941-143.94213475 107.96334877s0 107.96334877 143.94213475 107.96334876zM1103.254467 296.07330247v148.9894213a35.97878598 35.97878598 0 0 1-44.15700966 35.03410667l-143.94213473-33.57660146a36.0057768 36.0057768 0 0 1-27.80056231-35.03410668V296.1002933c-35.97878598-47.98970852-131.95820302-71.98456279-287.91126031-71.98456279S347.53801649 248.11058478 311.53223967 296.1002933v115.385829c0 16.73431906-11.52508749 31.25538946-27.80056233 35.03410668l-143.94213473 33.57660146A35.97878598 35.97878598 0 0 1 95.63253297 445.06272377V296.07330247C162.81272673 152.13116772 330.77670658 80.14660493 599.47049084 80.14660493s436.63077325 71.98456279 503.81096699 215.92669754z" p-id="23785" fill="#5c5c5c"></path></svg>400-660-0108 </p>        <p style="text-align:center">工作时间 8:30-22:00</p>        </div>        <div class="bg-gray">            <div class="feed_copyright">            <p><a class="right-dotte" href="//www.csdn.net/company/index.html#about" target="_blank">关于我们</a><a href="//www.csdn.net/company/index.html#recruit" target="_blank" class="right-dotte">招聘</a><a href="//www.csdn.net/company/index.html#contact" target="_blank" class="right-dotte">广告服务</a>            <a href="https://www.csdn.net/gather/A" target="_blank" class="footer_baidu">            网站地图</a></p>            <p class="fz12_baidu"><a href="https://zn.baidu.com/cse/home/index" target="_blank"><svg width="13" height="14" xmlns="http://www.w3.org/2000/svg"><path d="M8.392 7.013c1.014 1.454 2.753 2.8 2.753 2.8s1.303 1.017.47 2.98c-.833 1.962-3.876.942-3.876.942s-1.122-.36-2.424-.072c-1.303.291-2.426.181-2.426.181s-1.523.037-1.957-1.888c-.434-1.927 1.52-2.982 1.666-3.161.145-.183 1.159-.873 1.81-1.963.653-1.09 2.608-1.962 3.984.181zm1.23 5.706V9.346H8.64v2.534h-.937s-.3-.044-.356-.285V9.33l-.925.015v2.518s.042.627.925.855h2.277zm-3.685.013V7.951l-.896-.014v1.295H3.987s-1.054.086-1.422 1.28c-.129.798.114 1.266.156 1.368.043.099.383.682 1.238.852h1.978zm-2.433-1.45c-.087-.286.013-.613.057-.741.042-.128.228-.427.61-.54h.855v1.948h-.797s-.555-.029-.725-.668zm6.877-8.775c-.143.909-.865 2.108-1.99 1.962-1.121-.144-1.375-1.16-1.267-2.179C7.214 1.458 8.21.18 9.007.364c.796.18 1.52 1.235 1.374 2.143zm-4.09-.345c0 1.197-.68 2.164-1.52 2.164S3.25 3.36 3.25 2.162C3.25.967 3.932 0 4.77 0c.842 0 1.52.967 1.52 2.162zm4.854 2.09c1.34 0 1.701 1.309 1.701 1.743 0 .438.182 2.29-1.485 2.326-1.667.037-1.737-1.126-1.737-1.96 0-.874.179-2.11 1.52-2.11zm-7.93.581c.045.398.253 2.217-1.27 2.544C.427 7.704-.14 5.947.028 5.124c0 0 .18-1.78 1.412-1.89.98-.085 1.7.986 1.774 1.6z" fill="#999" fill-rule="evenodd"></path></svg><em>百度提供站内搜索</em></a>&nbsp;<a href="http://www.miibeian.gov.cn/publish/query/indexFirst.action" target="_blank" class="ml14">京ICP备19004658号</a></p>            <p class="fz12_baidu">©1999-2019 北京创新乐知网络技术有限公司 </p>            </div>        </div>        <div class="allow-info-box">        <p><a href="https://csdnimg.cn/cdn/content-toolbar/csdn-ICP.png" target="_blank">经营性网站备案信息</a>        <em class="width126"><a href="http://www.cyberpolice.cn/" target="_blank"><span>网络110报警服务</span></a></em></p>        <p><a href="http://www.bjjubao.org/" target="_blank"><span>北京互联网违法和不良信息举报中心</span></a></p>        <p><a href="http://www.12377.cn/" target="_blank"><span>中国互联网举报中心</span></a><a href="https://download.csdn.net/index.php/tutelage/" target="_blank"><span style="margin-left:8px">家长监护</span></a><a href="https://blog.csdn.net/blogdevteam/article/details/90369522" target="_blank"><span style="margin-left:8px">版权申诉</span></a></p>        </div>        </div></div>
    	</div>
    </div>
    
    • 0
      点赞
    • 4
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值