加密解密
不管是国标还是非国标,不管是对称还是非对称,直接拿来用
API说明
PYSunday内部使用的加解密
sunday.core.aesCbcEncrypt
(data, passphrase)aes-cbc加密,PYSunday内部文件使用的加密方法
Usages:
>>> from sunday.core.aesCbc import aesCbcEncrypt
>>> print(aesCbcEncrypt(b'helloworld', b'HOWDUUDU'))
U2FsdGVkX18eeWRf74A9dp7QlYRKjUTuq4O5U61AcoE=
Args:
data(str): 明文字符串
passphrase(int): 密钥
sunday.core.aesCbcDecrypt
(data, passphrase)aes-cbc解密,PYSunday内部文件使用的解密方法
Usages:
>>> from sunday.core.aesCbc import aesCbcDecrypt
>>> print(aesCbcDecrypt(b'U2FsdGVkX18eeWRf74A9dp7QlYRKjUTuq4O5U61AcoE=', b'HOWDUUDU'))
helloworld
Args:
data(str): 明文字符串
passphrase(int): 密钥
外部常见的加解密
基于cryptoJS
sunday.utils.cryptByCryptoJS
(datastrList, key, cryptType='encrypt', mode='ECB')cryptoJS加解密 Args: datastrList(list): 明文或者密闻组成的数组,如一次加密多个密码 key(str): 公钥 cryptType(str): encrypt(加密)、decrypt(解密) mode(str): 加密方式,默认ECB
基于JSEncrypt
sunday.utils.cryptByJsEncrypt
(datastrList, key, cryptType='encrypt', isHex=False)jsencrypt加解密 Args: datastrList(list): 明文或者密闻组成的数组,如一次加密多个密码 key(str): 公钥 cryptType(str): encrypt(加密)、decrypt(解密)
国家标准密码
sunday.utils.cryptBySm4
(datastrList, key, cryptType='encrypt')国密SM4加解密(对称加密) Args: datastrList(list): 明文或者密闻组成的数组,如一次加密多个密码 key(str): 公钥 cryptType(str): encrypt(加密)、decrypt(解密)
sunday.utils.cryptBySm2
(datastrList, key, cryptType='encrypt')国密SM2加解密(非对称加密) Args: datastrList(list): 明文或者密闻组成的数组,如一次加密多个密码 key(str): 加密传公钥, 解密传私钥 cryptType(str): encrypt(加密)、decrypt(解密)
可能会用到的方法
sunday.utils.grenKey
(num1=None, num2=None)生成指定位数标识码, 如grenKey(16, 61)则生成16位字符码来源前61的随机字符串 标识码字符来源:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz Args: num1(int): 标识码位数 num2(int): 标识码标识范围
sunday.utils.str2base16
(oristr)字符串转化为十六进制数字串
Usages:
>>> from sunday.utils.cryptanalyst import str2base16
>>> print(str2base16('helloworld'))
68656c6c6f776f726c64
Args:
oristr(str): 字符串