python 實現DES加解密

2022-07-19 10:15:11 字數 777 閱讀 4912

from pydes import *

import

base64

class

des3(object):

def__init__

(self, key, iv):

#這裡金鑰key長度必須為16/24, ,偏移量ivs

self.key =key

self.mode =cbc

self.iv =iv

#加密函式,如果text不是16的倍數【加密文字text必須為16的倍數!】,那就補足為16的倍數

defencrypt(self, text):

des3 = triple_des(self.key, self.mode, self.iv, pad=none, padmode=pad_pkcs5)

data =des3.encrypt(text)

data =base64.b64encode(data)

return data.decode('

utf-8')

#解密後,去掉補足的空格用strip() 去掉

defdecrypt(self, data):

des3 = triple_des(self.key, self.mode, self.iv, pad=none, padmode=pad_pkcs5)

data =base64.b64decode(data)

text =des3.decrypt(data)

return text.decode('

hex')

DES加解密原理

des演算法是典型的分組密碼,加密前先將明文編碼表示後的二進位制序列劃分成長度為64b的分組,des演算法的金鑰也是長度為64b的二進位制序列,金鑰中第8 16 24 32 40 48 56 64位為奇偶校驗位。des演算法的基本步驟 1 初始置換ip 2 16輪迭代處理 3 互換左 右32位 4 ...

DES可逆加解密

方法 des預設金鑰向量 private static byte keys des加密字串 待加密的字串 加密金鑰,要求為8位 加密成功返回加密後的字串,失敗返回源串 public static string encryptdes string encryptstring,string encryp...

iOS使用DES加解密

這裡使用框架提供的des加解密庫 首先引入標頭檔案 import 主要的加解密函式如下 字串加密 引數 plaintext 加密明文 key 金鑰 64位 nsstring encryptusedes nsstring plaintext key nsstring key size t numbyt...