亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python基于DES算法加密解密實例

2020-01-04 18:07:44
字體:
供稿:網(wǎng)友

這篇文章主要介紹了Python基于DES算法加密解密實現(xiàn)方法,以實例形式分析了DES算法實現(xiàn)加密解密的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了Python基于DES算法加密解密實現(xiàn)方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

  1. #coding=utf-8  
  2. from functools import partial  
  3. import base64  
  4. class DES(object):  
  5. """  
  6. DES加密算法  
  7. interface: input_key(s, base=10), encode(s), decode(s)  
  8. """ 
  9. __ip = [  
  10. 58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,  
  11. 62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,  
  12. 57,49,41,33,25,179,1,59,51,43,35,27,19,11,3,  
  13. 61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,  
  14. ]  
  15. __ip1 = [  
  16. 40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,  
  17. 38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,  
  18. 36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,  
  19. 34,2,42,10,50,18,58,26,33,1,419,49,17,57,25,  
  20. ]  
  21. __e = [  
  22. 3212345,  
  23. 4 , 56789,  
  24. 8 , 9,10,11,12,13,  
  25. 12,13,14,15,16,17,  
  26. 16,17,18,19,20,21,  
  27. 20,21,22,23,24,25,  
  28. 24,25,26,27,28,29,  
  29. 28,29,30,31,321,  
  30. ]  
  31. __p = [  
  32. 167,20,21,29,12,28,17,  
  33. 1 ,15,23,265,18,31,10,  
  34. 2 ,8 ,24,14,32,2739,  
  35. 19,13,306,22,114,25,  
  36. ]  
  37. __s = [  
  38. [  
  39. 0xe,0x4,0xd,0x1,0x2,0xf,0xb,0x8,0x3,0xa,0x6,0xc,0x5,0x9,0x0,0x7
  40. 0x0,0xf,0x7,0x4,0xe,0x2,0xd,0x1,0xa,0x6,0xc,0xb,0x9,0x5,0x3,0x8
  41. 0x4,0x1,0xe,0x8,0xd,0x6,0x2,0xb,0xf,0xc,0x9,0x7,0x3,0xa,0x5,0x0
  42. 0xf,0xc,0x8,0x2,0x4,0x9,0x1,0x7,0x5,0xb,0x3,0xe,0xa,0x0,0x6,0xd
  43. ],  
  44. [  
  45. 0xf,0x1,0x8,0xe,0x6,0xb,0x3,0x4,0x9,0x7,0x2,0xd,0xc,0x0,0x5,0xa
  46. 0x3,0xd,0x4,0x7,0xf,0x2,0x8,0xe,0xc,0x0,0x1,0xa,0x6,0x9,0xb,0x5
  47. 0x0,0xe,0x7,0xb,0xa,0x4,0xd,0x1,0x5,0x8,0xc,0x6,0x9,0x3,0x2,0xf
  48. 0xd,0x8,0xa,0x1,0x3,0xf,0x4,0x2,0xb,0x6,0x7,0xc,0x0,0x5,0xe,0x9
  49. ],  
  50. [  
  51. 0xa,0x0,0x9,0xe,0x6,0x3,0xf,0x5,0x1,0xd,0xc,0x7,0xb,0x4,0x2,0x8
  52. 0xd,0x7,0x0,0x9,0x3,0x4,0x6,0xa,0x2,0x8,0x5,0xe,0xc,0xb,0xf,0x1
  53. 0xd,0x6,0x4,0x9,0x8,0xf,0x3,0x0,0xb,0x1,0x2,0xc,0x5,0xa,0xe,0x7
  54. 0x1,0xa,0xd,0x0,0x6,0x9,0x8,0x7,0x4,0xf,0xe,0x3,0xb,0x5,0x2,0xc
  55. ],  
  56. [  
  57. 0x7,0xd,0xe,0x3,0x0,0x6,0x9,0xa,0x1,0x2,0x8,0x5,0xb,0xc,0x4,0xf
  58. 0xd,0x8,0xb,0x5,0x6,0xf,0x0,0x3,0x4,0x7,0x2,0xc,0x1,0xa,0xe,0x9
  59. 0xa,0x6,0x9,0x0,0xc,0xb,0x7,0xd,0xf,0x1,0x3,0xe,0x5,0x2,0x8,0x4
  60. 0x3,0xf,0x0,0x6,0xa,0x1,0xd,0x8,0x9,0x4,0x5,0xb,0xc,0x7,0x2,0xe
  61. ],  
  62. [  
  63. 0x2,0xc,0x4,0x1,0x7,0xa,0xb,0x6,0x8,0x5,0x3,0xf,0xd,0x0,0xe,0x9
  64. 0xe,0xb,0x2,0xc,0x4,0x7,0xd,0x1,0x5,0x0,0xf,0xa,0x3,0x9,0x8,0x6
  65. 0x4,0x2,0x1,0xb,0xa,0xd,0x7,0x8,0xf,0x9,0xc,0x5,0x6,0x3,0x0,0xe
  66. 0xb,0x8,0xc,0x7,0x1,0xe,0x2,0xd,0x6,0xf,0x0,0x9,0xa,0x4,0x5,0x3
  67. ],  
  68. [  
  69. 0xc,0x1,0xa,0xf,0x9,0x2,0x6,0x8,0x0,0xd,0x3,0x4,0xe,0x7,0x5,0xb
  70. 0xa,0xf,0x4,0x2,0x7,0xc,0x9,0x5,0x6,0x1,0xd,0xe,0x0,0xb,0x3,0x8
  71. 0x9,0xe,0xf,0x5,0x2,0x8,0xc,0x3,0x7,0x0,0x4,0xa,0x1,0xd,0xb,0x6
  72. 0x4,0x3,0x2,0xc,0x9,0x5,0xf,0xa,0xb,0xe,0x1,0x7,0x6,0x0,0x8,0xd
  73. ],  
  74. [  
  75. 0x4,0xb,0x2,0xe,0xf,0x0,0x8,0xd,0x3,0xc,0x9,0x7,0x5,0xa,0x6,0x1
  76. 0xd,0x0,0xb,0x7,0x4,0x9,0x1,0xa,0xe,0x3,0x5,0xc,0x2,0xf,0x8,0x6
  77. 0x1,0x4,0xb,0xd,0xc,0x3,0x7,0xe,0xa,0xf,0x6,0x8,0x0,0x5,0x9,0x2
  78. 0x6,0xb,0xd,0x8,0x1,0x4,0xa,0x7,0x9,0x5,0x0,0xf,0xe,0x2,0x3,0xc
  79. ],  
  80. [  
  81. 0xd,0x2,0x8,0x4,0x6,0xf,0xb,0x1,0xa,0x9,0x3,0xe,0x5,0x0,0xc,0x7
  82. 0x1,0xf,0xd,0x8,0xa,0x3,0x7,0x4,0xc,0x5,0x6,0xb,0x0,0xe,0x9,0x2
  83. 0x7,0xb,0x4,0x1,0x9,0xc,0xe,0x2,0x0,0x6,0xa,0xd,0xf,0x3,0x5,0x8
  84. 0x2,0x1,0xe,0x7,0x4,0xa,0x8,0xd,0xf,0xc,0x9,0x0,0x3,0x5,0x6,0xb
  85. ],  
  86. ]  
  87. __k1 = [  
  88. 57,49,41,33,25,179,  
  89. 1 ,58,50,42,34,26,18,  
  90. 102,59,51,43,35,27,  
  91. 19,113,60,52,44,36,  
  92. 63,55,47,39,31,23,15,  
  93. 7 ,62,54,46,38,30,22,  
  94. 146,61,53,45,37,29,  
  95. 21,135,28,20,124,  
  96. ]  
  97. __k2 = [  
  98. 14,17,11,24153,28,  
  99. 156,21,10,23,19,124,  
  100. 268,167,27,20,132,  
  101. 41,52,31,37,47,55,30,40,  
  102. 51,45,33,48,44,49,39,56,  
  103. 34,53,46,42,50,36,29,32,  
  104. ]  
  105. __k0 = [  
  106. 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1,  
  107. ]  
  108. __hex_bin = {  
  109. '0':'0000','1':'0001','2':'0010','3':'0011',  
  110. '4':'0100','5':'0101','6':'0110','7':'0111',  
  111. '8':'1000','9':'1001','a':'1010','b':'1011',  
  112. 'c':'1100','d':'1101','e':'1110','f':'1111',  
  113. ' ':'0000' 
  114. }  
  115. __re = lambda t, s: ''.join(s[i-1for i in t)  
  116. __IP = partial(__re, __ip)  
  117. __IP1 = partial(__re, __ip1)  
  118. __E = partial(__re, __e)  
  119. __P = partial(__re, __p)  
  120. __K1 = partial(__re, __k1)  
  121. __K2 = partial(__re, __k2)  
  122. __B = partial( lambda hex_bin, s: ''.join(hex_bin[w]  
  123. for w in ''.join('%2x' % ord(w) for w in s))  
  124. , __hex_bin)  
  125. __DB = partial( lambda s: ''.join(chr(int(s[i:i+8], 2)) for i in range(0, len(s), 8)))  
  126. __S = partial( lambda hex_bin, __s, s: ''.join(hex_bin['%x' % __s[i][  
  127. int(s[i*6]+s[i*6+5], 2)*16 + int(s[i*6+1:i*6+5], 2)]] for i in range(8))  
  128. , __hex_bin, __s)  
  129. __F = partial( lambda s, k: ''.join('0' if s[i]==k[i] else '1' for i in range(len(s))))  
  130. __K0 = partial( lambda k0, K2, k: map(K2,  
  131. (k[k0[i]:28]+k[0:k0[i]] + k[k0[i]+28:56]+k[28:k0[i]+28for i in range(16)))  
  132. , __k0, __K2)  
  133. __K = partial( lambda K1, K0, k: K0(K1(k))  
  134. , __K1, __K0)  
  135. def __init__(self):  
  136. pass 
  137. def input_key(self, key, base=10):  
  138. if base == 2:  
  139. pass 
  140. elif base == 16:  
  141. key = ''.join(self.__class__.__hex_bin[w] for w in key)  
  142. else:  
  143. key = self.__class__.__B(key)  
  144. self.__k = self.__class__.__K(key)  
  145. def __code(self, s, k):  
  146. s = self.__IP(s)  
  147. l, r = s[0:32], s[32:64]  
  148. for i in range(16):  
  149. r_t = r  
  150. r = self.__E(r)  
  151. r = self.__F(r, k[i])  
  152. r = self.__S(r)  
  153. r = self.__P(r)  
  154. r = self.__F(r, l)  
  155. l = r_t  
  156. return self.__class__.__IP1(r+l)  
  157. def encode(self, s):  
  158. a = ''  
  159. s += ' ' * ((8-len(s)%8)%8)  
  160. for i in range(0, len(s), 8):  
  161. before = self.__class__.__B(s[i:i+8])  
  162. after = self.__code(before, self.__k)  
  163. a += '%16x' % int(after, 2)  
  164. return ''.join(w if w!=' ' else '0' for w in a)  
  165. def decode(self, s):  
  166. a = ''  
  167. s.lower()  
  168. for i in range(0, len(s), 16):  
  169. before = ''.join(self.__class__.__hex_bin[s[j]] for j in range(i, i+16))  
  170. after = self.__code(before, self.__k[::-1])  
  171. a += self.__class__.__DB(after)  
  172. return a.rstrip().decode('utf-8')  
  173. if __name__ == '__main__':  
  174. d = DES()  
  175. d.input_key('123456789')  
  176. s = '再來一段中文' 
  177. a = d.encode(s)  
  178. print a  
  179. b = d.decode(a)  
  180. print b 


希望本文所述對大家的Python程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产美女av一区二区三区| 性生活免费观看视频| 精品色蜜蜜精品视频在线观看| 国产欧美一区在线| 国产亚洲一区二区三区不卡| 日韩av不卡播放| 精品中文字幕在线播放| 精品国产百合女同互慰| 日韩精品一区二区三区国语自制| 综合精品久久久| 九色在线免费| 超碰人人爱人人| 先锋资源一区二区| 亚洲精品人人| 亚洲美女精品久久| 国模少妇一区二区三区| 亚洲国产高清高潮精品美女| 中文字幕成人网| 怡红院av在线| 日韩亚洲第一页| 天天色天天射天天干| 久久久久久婷| 亚洲第一成肉网| 女同一区二区三区| 亚洲国产综合一区| 亚洲视频在线一区二区| 国产福利视频网站| 日韩精品一区中文字幕| 538任你躁精品视频网免费| 亚洲精品天堂在线观看| 男人的天堂免费| 狠狠色狠色综合曰曰| 国产激情99| 国产精品豆花视频| 亚洲第一区第二区| 9色在线视频网站| 欧美激情aaa| 欧美调教sm| 国产在线视频一区| 欧美在线性爱视频| 国产原厂视频在线观看| 日韩在线观看电影完整版高清免费悬疑悬疑| 欧美在线视频你懂得| 欧美日韩国产精品一区二区不卡中文| 黄视频在线观看网站| 免费中文字幕日韩| 苍井空浴缸大战猛男120分钟| 成人在线资源网址| 天天色天天操天天| 亚洲一区在线免费观看| 精品人妻久久久久一区二区三区| 欧美性淫爽ww久久久久无| 国产乱人伦精品一区二区| 中文字幕在线观看不卡| 国产精品一区二区三区免费视频| 中文字幕无线码| 久久99久久精品国产| 粉嫩av国产一区二区三区| 亚洲国产日韩综合一区| 91超碰在线播放| 免费三级欧美电影| 99视频国产精品免费观看| 国产日产欧美一区| 99亚偷拍自图区亚洲| 亚洲日本青草视频在线怡红院| 日韩脚交footjobhdboots| 尤物视频在线视频| 欧美性生交大片| 久久精品国产网站| 亚洲欧美日韩国产成人| 亚洲电影网站| 91九色国产社区在线观看| 亚洲女同一区二区| 国产精品久久久久影院亚瑟| 日韩黄色精品视频| 久久精品影视伊人网| aaaaaa毛片| 日韩www在线| 中文字幕v亚洲ⅴv天堂| 4444在线观看| 亚洲天堂福利av| 国精产品一区二区| 欧美成人精品高清在线播放| 国产成人精品优优av| 成人欧美在线视频| 成年丰满熟妇午夜免费视频| 亚洲视频欧洲视频| av福利导福航大全在线| 国模大胆一区二区三区| 影音av资源网| 青娱乐精品视频在线| 精品亚洲一区二区三区四区| 国产精品av一区二区三区| chinese麻豆新拍video| 老司机精品久久| 国产三级做爰高清在线| 99国产精品免费视频观看| 亚洲精品美女网站| 天天操人人干| 成人免费看片网址| 国产高清一区二区三区四区| 国产xxx69麻豆国语对白| 中文字幕制服丝袜成人av| 亚洲最新合集| 少妇高潮喷水久久久久久久久久| 亚洲欧洲精品天堂一级| 最近最新mv在线观看免费高清| 国内精品久久久久影院 日本资源| 欧美亚洲爱爱另类综合| 三年中国中文在线观看免费播放| 亚洲国产精品久久一线不卡| 国产日韩av在线播放| 亚洲精品午夜av福利久久蜜桃| 中文在线天堂库| 亚洲欧美综合在线精品| 黑人无套内谢中国美女| 性高潮久久久久久久| 免费高清在线观看| 成人a在线视频| 欧美最新大片在线看| 欧美成人禁片在线www| 成人性做爰片免费视频| 国产视频在线看| 亚洲精品国精品久久99热一| 3d动漫精品啪啪1区2区免费| 免费看成人哺乳视频网站| 欧美天天影院| 91玉足脚交嫩脚丫在线播放| 久久久成人的性感天堂| 欧美 日韩 人妻 高清 中文| 精品久久97| 欧美黄网在线观看| 中文字幕21页在线看| 18视频在线观看网站| 91av一区二区三区| 69视频在线播放| 欧美一级成年大片在线观看| 中文字幕在线观看免费高清| 亚洲欧洲www| 特级西西444www高清大视频| 精东粉嫩av免费一区二区三区| 欧美日韩精品欧美日韩精品一| 国产精欧美一区二区三区白种人| 91精品国产91久久综合| 人人超碰91尤物精品国产| 国产真实乱人偷精品视频| 国产 日韩 亚洲 欧美| 91精品国产高清久久久久久91裸体| 蜜桃精品视频在线观看| 日本欧美一区二区| 999在线观看视频| 欧美 日韩 国产 高清| 国产在线欧美在线| 日韩精品av一区二区三区| 免费观看又污又黄在线观看国产| 日b视频免费观看| 亚洲人成电影网站| 亚洲一区二区黄色| 国产色产综合色产在线视频| 国产老肥熟xxxx在线观看| 国产精品入口免费麻豆| 欧美乱大交xxxxx另类电影| 人妻视频一区二区三区| 欧美jizzhd欧美| 国产精品一区在线免费观看| 精品极品在线| 亚洲精品卡一卡二| 农村妇女精品一二区| 在线观看欧美日韩国产| 亚洲性av网站| 亚洲私拍自拍| 国产精品久久久久aaaa樱花| 欧美视频xxx| 日韩福利电影在线观看| 99久久亚洲国产日韩美女| 久久免费看少妇高潮v片特黄| 国产女人18毛片水18精品| www在线免费观看视频| 精品无人区一区二区三区竹菊| 黄色三级视频在线观看| ww亚洲ww在线观看国产| 国产成人精品日本亚洲专区61| 亚洲女娇小黑人粗硬| 68精品久久久久久欧美| 欧美日韩中文在线观看| 日韩av网站在线观看| 国产在线精品不卡| 美女扒开尿口让男人操| 国产伦精品一区二区三区免费视频| 国产卡1卡2卡三卡在线| 亚洲欧洲制服丝袜| 亚洲精品3区| 日韩三级视频在线播放| 亚洲精品ady| 国产区av在线| 99国产精品国产精品毛片| 亚洲综合中文网| 超碰日本道色综合久久综合| 免费av不卡在线观看| 欧美一区二区三级| 国产成人精品无码高潮| 一区二区三区鲁丝不卡| 国产一二区视频| 中文字幕不卡在线视频极品| 不卡日本视频| 中文字幕精品视频在线观看| 国产精品成人一区二区三区吃奶| 久久不卡国产精品一区二区| 精品久久人人做人人爰| 在线观看免费视频综合| 黄色成人av在线| 精品国产一区二区三区香蕉沈先生| 亚洲午夜久久久久久久| 亚洲成人一二三区| 范冰冰一级做a爰片久久毛片| 91精品一区二区三区久久久久久| 欧美成人伊人久久综合网| 国产麻豆高清视频在线第一页| 一级毛片在线视频| 国外成人在线播放| 国产精品国产a| 中文字幕无码人妻少妇免费| 天天摸夜夜操| 国产特级淫片高清视频| 男人的天堂a在线| 国产精品77777竹菊影视小说| 日本黄色免费在线| 国产精品福利在线观看播放| 国产成人免费视频app| 亚洲欧洲国产综合| 中文字幕在线观看日| 欧美一区二区三区视频在线| 亚洲最色的网站| 欧美成人另类视频| 一级黄色特级片| 精品人伦一区二区色婷婷| 国精品**一区二区三区在线蜜桃| 欧美24videosex性欧美| 免费h精品视频在线播放| 欧美啪啪一区| 最近中文字幕在线| 日韩在线国产精品| 亚洲老妇激情| 国产一区免费电影| 青丝免费观看高清影视| 欧美又粗又大又长| 在线播放亚洲一区| 国产精品videossex国产高清| 日韩免费看片| 中文字幕日韩在线| 国产精品中文字幕在线| 日本老熟俱乐部h0930| 久久国产麻豆精品| av中文资源在线资源免费观看| 日韩精品中文字幕一区二区三区| 一级黄色免费网站| 成人午夜看片网址| 女人被男人躁得好爽免费视频| 高清视频在线观看三级| 大陆精大陆国产国语精品| 中文字幕校园春色| 99久久精品免费看国产四区| 尤蜜粉嫩av国产一区二区三区| a毛片在线观看| 一本大道一区二区三区| 国产制服丝袜在线| 91精品国产网站| 亚洲精品美女91| 五月天婷婷丁香| 成人区精品一区二区婷婷| 欧美在线视频在线播放完整版免费观看| 日韩欧美中文字幕精品| 天天爽夜夜爽夜夜爽精品| 中文字幕免费播放| 国产麻豆剧传媒精品国产av| 性欧美videos粗暴| 中文字幕求饶的少妇| 亚洲精品中文在线影院| 青青a在线精品免费观看| 波多野结衣久久| 日韩一卡二卡在线| 日韩午夜免费视频| 日本一区二区三区四区在线视频| 91蝌蚪在线观看视频| 欧美精品尤物在线观看| 四虎影视国产在线视频| 日韩一区日韩二区| 在线中文字幕一区二区| 大桥未久一区二区三区| 国产精品久久久午夜夜伦鲁鲁| 亚洲国产欧美不卡在线观看| 男人与禽猛交狂配| 美女福利一区二区| 悠悠资源av网址| 亚洲成人中文字幕在线| 怡红院一区二区| 久久精品亚洲94久久精品| 欧美视频免费| 中文字幕人妻一区二区三区| 久久精品噜噜噜成人av农村| 校园春色另类视频| 欧美不卡视频一区| 97免费高清电视剧观看| av免费观看网址| 国产偷自视频区视频一区二区| 亚洲人成人无码网www国产| 大胆人体一区二区| 日本成人中文字幕| www·91·com| 欧美精品网站| 天天操天天是| jizz欧美性20| 日韩久久一级片| 88xx成人精品| 久久久久亚洲av无码专区体验| 欧美sm美女调教| 欧美aⅴ在线观看| 一区二区不卡| 人偷久久久久久久偷女厕| 免费成人黄色网| 亚洲视频一区二区三区四区| 黑人巨大精品欧美一区二区三区| 久久色在线视频| 精品中文字幕av| 完全免费av在线播放| 女同性互吃奶乳免费视频| 97免费观看视频| 91麻豆精品秘密入口|