Skip to content

加密解密

不管是国标还是非国标,不管是对称还是非对称,直接拿来用


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): 字符串