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模式的初始偏移量,但是未對該偏...