pytnon DES加密CBC模式

2021-07-03 21:52:54 字數 986 閱讀 2618

import pydes

import base64

class crypt(object):

@classmethod

def des_base64_encrypt(cls, text, key, iv, code='gbk'):

""" 基於des和base64的加密演算法

:param text 加密串

:param key des加密的金鑰

:param iv des的向量

:param code text加密時的編碼

"""# 對text進行轉碼 --> gbk

text = text.decode('utf-8').encode(code)

des = pydes.des(key, pydes.cbc, iv, padmode=pydes.pad_pkcs5)

encrypt_text = des.encrypt(text)

return base64.encodestring(encrypt_text).strip()

@classmethod

def des_base64_decrypt(cls, text, key, iv, output_code='utf-8'):

""" 基於des和base64的解密演算法

:param text 解密的文字

:param key des加密的金鑰

:param iv des的向量

:param output_code text解密後輸出的編碼

"""des = pydes.des(key, pydes.cbc, iv, padmode=pydes.pad_pkcs5)

decode_text = des.decrypt(base64.decodestring(text))

decode_text = decode_text.decode('gbk').encode(output_code)

return decode_text

Python hashlib hmac加密模組

1 用於加密的相關操作,3.x裡代替了md5模組和sha模組,主要提供sha1,sha224,sha256,sha384,sha512,md5演算法2 sha2為主流加密演算法,md5加密方式不如sha2 3import hashlib 4 m hashlib.md5 5 m.update b he...

Hill加密 模逆

由於matlab中double型別的資料小數點後面老會自動加一些亂七八糟的。所以在模逆過程中把double型別的資料先換成int型別,最後再換回來。如下 function key,with modinv f,m format long g i 1 a int64 mod det f m while ...

QT AES 加密和解密 能實現ECB 和 CBC

最近因為業務需要,需要對資料進行aes的加解密。參考了論壇大佬的例程,稍作修改,便於我的使用。記錄下來,感謝共享的大佬。有參考該文件中的內容,對大佬的例程進行學習和稍微的修改 qt5.6.3 編譯 可用 修改地方,增加初始化的引數,增加加密模式的引數,和cbc模式cfb模式的初始偏移量,但是未對該偏...