当前位置:编程学习 > python >>

python实现DES加密

实现功能:加密中文等字符串 
 
密钥与明文可以不等长 
 
这里只贴代码,加密过程可以自己百度,此处python代码没有优化 
 
1.desstruct.py DES加密中要使用的结构体 
 
01 ip=  (58, 50, 42, 34, 26, 18, 10, 2,  
 
02       60, 52, 44, 36, 28, 20, 12, 4,  
 
03       62, 54, 46, 38, 30, 22, 14, 6,  
 
04       64, 56, 48, 40, 32, 24, 16, 8,  
 
05       57, 49, 41, 33, 25, 17, 9 , 1,  
 
06       59, 51, 43, 35, 27, 19, 11, 3,  
 
07       61, 53, 45, 37, 29, 21, 13, 5,  
 
08       63, 55, 47, 39, 31, 23, 15, 7)  
 
09    
 
10 ip_1=(40, 8, 48, 16, 56, 24, 64, 32,  
 
11       39, 7, 47, 15, 55, 23, 63, 31,  
 
12       38, 6, 46, 14, 54, 22, 62, 30,  
 
13       37, 5, 45, 13, 53, 21, 61, 29,  
 
14       36, 4, 44, 12, 52, 20, 60, 28,  
 
15       35, 3, 43, 11, 51, 19, 59, 27,  
 
16       34, 2, 42, 10, 50, 18, 58, 26,  
 
17       33, 1, 41,  9, 49, 17, 57, 25)  
 
18    
 
19 e  =(32, 1,  2,  3,  4,  5,  4,  5,   
 
20        6, 7,  8,  9,  8,  9, 10, 11,   
 
21       12,13, 12, 13, 14, 15, 16, 17,  
 
22       16,17, 18, 19, 20, 21, 20, 21,  
 
23       22, 23, 24, 25,24, 25, 26, 27,  
 
24       28, 29,28, 29, 30, 31, 32,  1)  
 
25     
 
26 p=(16,  7, 20, 21, 29, 12, 28, 17,  
 
27      1, 15, 23, 26,  5, 18, 31, 10,   
 
28      2,  8, 24, 14, 32, 27,  3,  9,  
 
29      19, 13, 30, 6, 22, 11,  4,  25)  
 
30    
 
31 s=[ [[14, 4, 13,  1,  2, 15, 11,  8,  3, 10,  6, 12,  5,  9,  0,  7],  
 
32      [0, 15,  7,  4, 14,  2, 13,  1, 10,  6, 12, 11,  9,  5,  3,  8],  
 
33      [4,  1, 14,  8, 13,  6,  2, 11, 15, 12,  9,  7,  3, 10,  5,  0],      
 
34      [15, 12,  8,  2,  4,  9,  1,  7,  5, 11,  3, 14, 10,  0,  6, 13]],  
 
35    
 
36      [[15,  1,  8, 14,  6, 11,  3,  4,  9,  7,  2, 13, 12,  0,  5, 10],       
 
37      [3, 13,  4,  7, 15,  2,  8, 14, 12,  0,  1, 10,  6,  9, 11,  5],       
 
38      [0, 14,  7, 11, 10,  4, 13,  1,  5,  8, 12,  6,  9,  3,  2, 15],       
 
39      [13,  8, 10,  1,  3, 15,  4,  2, 11,  6,  7, 12,  0,  5, 14,  9]],  
 
40    
 
41      [[10,  0,  9, 14,  6,  3, 15,  5,  1, 13, 12,  7, 11,  4,  2,  8],       
 
42      [13,  7,  0,  9,  3,  4,  6, 10,  2,  8,  5, 14, 12, 11, 15,  1],     
 
43      [13,  6,  4,  9,  8, 15,  3,  0, 11,  1,  2, 12,  5, 10, 14,  7],       
 
44      [1, 10, 13,  0,  6,  9,  8,  7,  4, 15, 14,  3, 11,  5,  2, 12]],  
 
45    
 
46     [[7, 13, 14,  3,  0,  6,  9, 10,  1,  2,  8,  5, 11,  12,  4, 15],       
 
47      [13,  8, 11,  5,  6, 15,  0,  3,  4,  7,  2, 12,  1, 10, 14,9],       
 
48      [10,  6,  9,  0, 12, 11,  7, 13, 15,  1,  3, 14,  5,  2,  8,  4],       
 
49      [3, 15,  0,  6, 10,  1, 13,  8,  9,  4,  5, 11, 12,  7,  2, 14]],  
 
50    
 
51    
 
52     [[2, 12,  4,  1,  7, 10, 11,  6,  8,  5,  3, 15, 13,  0, 14,  9],       
 
53      [14, 11,  2, 12,  4,  7, 13,  1,  5,  0, 15, 10,  3,  9,  8,  6],       
 
54      [4,  2,  1, 11, 10, 13,  7,  8, 15,  9, 12,  5,  6,  3,  0, 14],       
 
55      [11,  8, 12,  7,  1, 14,  2, 13,  6, 15,  0,  9, 10,  4,  5,  3]],  
 
56    
 
57     [[12,  1, 10, 15,  9,  2,  6,  8,  0, 13,  3,  4, 14,  7,  5, 11],  
 
58      [10, 15,  4,  2,  7, 12,  9,  5,  6,  1, 13, 14,  0, 11,  3,  8],       
 
59      [9, 14, 15,  5,  2,  8, 12,  3,  7,  0,  4, 10,  1, 13, 11,  6],       
 
60      [4,  3,  2, 12,  9,  5, 15, 10, 11, 14,  1,  7,  6,  0,  8, 13]],  
 
61    
 
62     [[4, 11,  2, 14, 15,  0,  8, 13,  3, 12,  9,  7,  5, 10,  6,  1],       
 
63      [13,  0, 11,  7,  4,  9,  1, 10, 14,  3,  5, 12,  2, 15,  8,  6],       
 
64 &n
补充:综合编程 , 安全编程 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,