python实现DES算法
生活随笔
收集整理的這篇文章主要介紹了
python实现DES算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
pycrypto庫下載:http://pan.baidu.com/s/1nvNtCvB (python2.7的版本),直接安裝就可以了
from Crypto.Cipher import DES #第三方庫導入,沒有的話去百度云下載class MyDESCrypt: #自己實現的DES加密類key = chr(11)+chr(11)+chr(11)+chr(11)+chr(11)+chr(11)+chr(11)+chr(11)iv = chr(22)+chr(22)+chr(22)+chr(22)+chr(22)+chr(22)+chr(22)+chr(22)def __init__(self,key='',iv=''):if len(key)> 0:self.key = keyif len(iv)>0 :self.iv = ivdef ecrypt(self,ecryptText):try:cipherX = DES.new(self.key, DES.MODE_CBC, self.iv)pad = 8 - len(ecryptText) % 8padStr = ""for i in range(pad):padStr = padStr + chr(pad)ecryptText = ecryptText + padStrx = cipherX.encrypt(ecryptText)return x.encode('hex_codec').upper()except:return ""def decrypt(self,decryptText):try:cipherX = DES.new(self.key, DES.MODE_CBC, self.iv)str = decryptText.decode('hex_codec')y = cipherX.decrypt(str)return y[0:ord(y[len(y)-1])*-1]except:return "" def main():msg = "password is 961223"key = "stupid00" #密鑰長度必須為64位,也就是8個字節des = DES.MyDESCrypt(key)cipherTxt = des.ecrypt(msg)print cipherTxtprint des.decrypt(cipherTxt) if __name__== "__main__":main()總結
以上是生活随笔為你收集整理的python实现DES算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CString类的用法总结
- 下一篇: python实现模逆运算