コード例 #1
0
ファイル: wechatpay.py プロジェクト: fzuslide/wechatpay
    def set_params(self, **kwargs):
        self.params = {}
        for (k, v) in kwargs.items():
            self.params[k] = smart_str(v)

        self.params['nonce_str'] = random_str(length=32)
        self.params.update(self.common_params)
コード例 #2
0
ファイル: wechatpay.py プロジェクト: stefangeorg/wechatpay
    def set_params(self, **kwargs):
        self.params = {}
        for (k, v) in kwargs.items():
            self.params[k] = smart_str(v)

        self.params['nonce_str'] = random_str(length=32)
        self.params.update(self.common_params)
コード例 #3
0
ファイル: jddefray.py プロジェクト: hereischen/jdpay
 def param_sorter(self, param_dict):
     keys = param_dict.keys()
     keys.sort()
     sorted_str = ''
     for key in keys:
         value = param_dict[key]
         sorted_str += '%s=%s&' % (key, value)
     sorted_str = smart_str(sorted_str[:-1])
     return sorted_str
コード例 #4
0
ファイル: jdpay.py プロジェクト: hereischen/jdpay
def des_encrypt(string, deskey, charset='utf-8'):
    key = base64.b64decode(deskey)[:8]
    cipher = DES.new(key)
    plain_text = smart_str(string)
    repeat = 8 - len(plain_text) % 8
    plain_text += chr(repeat) * repeat
    encrypt_msg = cipher.encrypt(plain_text)
    b64_msg = base64.b64encode(encrypt_msg).encode(charset)
    return b64_msg
コード例 #5
0
def des_encrypt(string, deskey, charset='utf-8'):
    key = base64.b64decode(deskey)[:8]
    cipher = DES.new(key)
    plain_text = smart_str(string)
    repeat = 8 - len(plain_text) % 8
    plain_text += chr(repeat) * repeat
    encrypt_msg = cipher.encrypt(plain_text)
    b64_msg = base64.b64encode(encrypt_msg).encode(charset)
    return b64_msg
コード例 #6
0
ファイル: jdpay.py プロジェクト: hereischen/jdpay
    def params_filter(self, params):
        # 除去不需要签名的项目,并声称签名原串
        self.params['merchantNum'] = self.pay_account.merchant_num
        self.params['version'] = (
            '2.0' if settings.CB_ENCRYPTION_MODE else '1.0')
        keys = self.params.keys()
        keys.sort()
        self.filtered_params = {}
        self.prestr = ''
        for key in keys:
            value = self.params[key]
            if key not in ("merchantSign", "token", "version"):
                self.filtered_params[key] = value
                self.prestr += '%s=%s&' % (key, self.filtered_params[key])

        self.prestr = smart_str(self.prestr[:-1])
コード例 #7
0
    def params_filter(self, params):
        # 除去不需要签名的项目,并声称签名原串
        self.params['merchantNum'] = self.pay_account.merchant_num
        self.params['version'] = ('2.0'
                                  if settings.CB_ENCRYPTION_MODE else '1.0')
        keys = self.params.keys()
        keys.sort()
        self.filtered_params = {}
        self.prestr = ''
        for key in keys:
            value = self.params[key]
            if key not in ("merchantSign", "token", "version"):
                self.filtered_params[key] = value
                self.prestr += '%s=%s&' % (key, self.filtered_params[key])

        self.prestr = smart_str(self.prestr[:-1])